トップページ⇒tech
1001コメント365KB

VB初心者質問スレ Part7

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
前スレはこちら
  Part1 = http://piza.2ch.net/test/read.cgi?bbs=tech&key=968328471&ls=50
  Part2 = http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990793224&ls=50
  Part3 = http://pc.2ch.net/test/read.cgi/tech/1000523122/
  Part4 = http://pc.2ch.net/test/read.cgi/tech/1006922992/
  Part5 = http://pc.2ch.net/test/read.cgi/tech/1010624646/
  Part6 = http://pc.2ch.net/test/read.cgi/tech/1013844542/

Win32 API関連スレ
  http://pc.2ch.net/test/read.cgi/tech/1006783012/l50

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調てみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
0002デフォルトの名無しさんNGNG
2?
0003デフォルトの名無しさんNGNG
(・∀・) こういった話題は、こっちの板でどうぞ
http://doomo.org/cgi-bin/bbs1/za.cgi
0004デフォルトの名無しさんNGNG
>>3
サーバーが見つからないってさ。
0005デフォルトの名無しさんNGNG
VB始めてみようと思うんですが、VBAでも同じような事出来ますか?
0006デフォルトの名無しさんNGNG
むしろVBAが知りたい。
VBしかやったことないけど(VBも素人だが)、AccessVBAで違う所って
何ですか。確か、DAOとか使うんですよね?
あと、マクロってのも連携して使うもの?全部VBAでも可?
0007デフォルトの名無しさんNGNG
WORD & EXCELのマクロ = VBA、そのままの意味
ACCESSのマクロはVBAが使えればほとんど無視していいと思う
あとACCESSのフォームなので
form.Showとか基本的な作法が違う
DAOでもADOでも可
0008デフォルトの名無しさんNGNG
あるプロジェクトに含まれている、フォームやモジュールなど(プロジェクトエクスプローラに
表示されているモノ)の名前と、それらが持つプロシージャの名前だけを印刷するなり
テキストファイルに書き出すなりする方法って無いんでしょうか。

VB用のドキュメント作成ツールとか買わないと出来ないのかな?
0009デフォルトの名無しさんNGNG
>>8
.frmとか.vbpとか開いてみたら?
00108NGNG
>>9
ありがとうございます。
vbpを開いてみても、モジュールのファイル名を知るのがやっとで……。
なにかいい方法ありませんかね?
0011デフォルトの名無しさんNGNG
>>10
アドインを作る。
00128NGNG
>>11
回答ありがとう。
作るのは無理そうなので、やはり手頃な支援ツールの導入を考えてみます。。
0013仕様書無しさんNGNG
>>8
おまえ、本当にプログラマか?恥ずかしいヤツだな…。

> フォームやモジュールなどの名前
> それらが持つプロシージャの名前だけを印刷
vbp開いてファイル名が解ったら、
あとはそのファイルを開いて必要な部分を抽出するだけだろ。

何か難しいことあるのか?
# ま、どうでも良いんだけどさ。

旧スレが上がってるんであげ
0014プログラム歴1月NGNG
コードがEUCで書かれたファイルの文字を置き換えしようと思ったんですが
失敗して全部文字化けしたファイルが出てきてしまいました・・

文字コードを見たところEUCのはずが勝手にShiftJisになっている・・

何がマズイんでしょうか・・ヽ(´Д`ヽ ミ ノ´Д`)ノ
0015デフォルトの名無しさんNGNG
>>14
変換するコードが間違ってることは確か。
あとはコードを見ないと何とも言えない。

0016デフォルトの名無しさんNGNG
>>14
バイナリで読みこんで文字列に変換してるならStrConvしなよ。
0017デフォルトの名無しさんNGNG
>>13
>あとはそのファイルを開いて必要な部分を抽出するだけだろ。
その手順を簡素化する方法に付いての質問だと思うのだが。

# ま、どうでも良いんだけどさ。
0018デフォルトの名無しさんNGNG
>>14
VBってEUC扱えたっけ?
バイナリで読み込んでバイナリのまま処理するか、
一端SJIS(かunicode)に変換して文字列として処理したあとEUCに変換して保存
するかしなきゃ駄目じゃない?
001914NGNG
とりあえず途中からなんですが・・
変数を宣言した後です。すごい単純なやつかと・・

Open "C:\WINDOWS\デスクトップ\第2のサイト\" & suuzi & "\sylpheed.cgi" For Input As #1
Do While Not EOF(1)
Line Input #1, buff1
buff1 = buff1 + Chr(13) + Chr(10)
buff2 = buff2 + buff1
buff3 = Replace(buff2, "パソコン", "パーソナルコンピュータ")
Loop
Close #1
Open "C:\WINDOWS\デスクトップ\第2のサイト\" & suuzi & "\sylpheed.cgi" For Output As #2
Print #2, buff3
Close #2

↑これで普通のファイルの場合はできるんですが(Shift-JIS)
”パソコン”を”パーソナルコンピュータ”に置きかえる例なんですが・・
で、EUCだから改行コードがchr(13)+chr(10)→chr(10)なのかな・・と・・

それで変えてみたんですが置きかえられたファイルはやっぱり文字化け・・
更新されたファイルが勝手にShift-JISになってました・・
まだ初めて1ヶ月程度なんですが、今の自分技術で可能でしょうか、
これを解決するのは・・
0020デフォルトの名無しさんNGNG
>>19
根本的にEUCと文字コードに関して誤解してるな。
EUCは改行コードが異なるのではなくて、文字コードそのものの位置が全然違う。
だから、専用に変換コードを書くか、DLL使って変換してあげなければいけない。

http://www.geocities.co.jp/SilkRoad/4511/vb/nkf32dll.htm
DLL使うならここを参考に。

手順としては、ファイルをバイナリでバイト配列に読み込んで、
DLLを使ってバイト配列のEUCをShiftJISに変換、
それをStrConvを使ってvbUnicodeに変換、
必要な処理をしたあと、vbUnicodeからバイト配列(ShiftJIS)に変換、
それをまたDLLを使ってEUCに変換、バイナリとして保存。
0021デフォルトの名無しさんNGNG
初心者の質問ですが教えてください。
DLLの中の関数の詳細をみるにはどうしたらいいんですか?
002214NGNG
>>20
ありがとうございます
なんとかやってみます!
0023__NGNG
>>21
詳細ってどのレベルまでのこと?
0024ななしNGNG
>>20

で紹介されているリンク先で、2ch用語が使われていて、ワラタ。(^◇^;;
       ↓
> Q : 文字列を渡せねえぞゴルァ
0025デフォルトの名無しさんNGNG
>>21
あなたが言っているDLLは普通のDLL?それともActiveなDLL?
0026デフォルトの名無しさんNGNG
pdfやpptなどのリンクを押してブラウザで表示するのではなく
「ダウンロードしますか?」みたいなダイアログボックスを表示して
HDDなんかに落としたいのですが、VBScriptで出来ると思いますか?
っていうか、どんな言語が適しているのか参考までに思ったことを
教えてください。参考になる本、HPなんかあったらそちらもよろしくお願いします。
002726NGNG
追記です、
exeとかには出来ないんです・・・
ネスケは無視してます。
以上です。
0028デフォルトの名無しさんNGNG
右クリックして保存すれば?
002926NGNG
早速ありがとうございます
そうなんですよね、アドビにもMSにもそう書いてあったんです
でも、「そんなんじゃ駄目だ!」だから困ってるんです
javaScriptでやってみたんですが、WordとかCSVはダイアログが出るんですが
pdfとかは出来ないんですよね・・・・
ダイアログは自作のを出そうかなと思ってるんですが
ほんとにVBScriptで出来るのかも心配なんです

0030デフォルトの名無しさんNGNG
わけあって、App.PreInstanceではなくMutexで排他をかけようとしてます。
でWin32APIをつかって、以下のようなコードを書いてみたんですが、なんでか
排他がかかってないみたいなんです(2つ起動してボタン押したらどちらも"最初"がでてきてしまう)。
CreateMutexとかの指定がわるいんでしょうか?

Dim m_hMutex As Long

Public Function MutexCheck() As Boolean
Dim PrevhMutex As Long

PrevhMutex = OpenMutex(MUTANT_ALL_ACCESS, 0, "MyMutex")
If PrevhMutex Then
CloseHandle PrevhMutex
MutexCheck = False
MsgBox "二重起動"
Exit Function
Else
m_hMutex = CreateMutex(0, 0, "MyMutex")
MsgBox "最初"
MutexCheck = True
End If
End Function

Private Function MutexRelease()
ReleaseMutex m_hMutex
CloseHandle m_hMutex
End Function

Private Sub Command1_Click()
If MutexCheck = False Then
' If App.PrevInstance Then
MsgBox "二重起動"
Else
Sleep (3000)
MsgBox "最初"
End If

' MutexRelease

End Sub
0031デフォルトの名無しさんNGNG
ディストリビューションウィザードの仕組みなんですが。
えーと、作成するとsetup.exeとsetup.lstとアプリ名.cabが出来ますよね。
setup.exeはCかなんかで作られてて、VBランタイムがない環境でも起動する。
これを起動するとアプリ名.cabを一時的に解凍し、
VBランタイムが勝手にインストールされ、一緒にsetup1.exeも抽出される。
それが終わるとsetup1.exe(VB製)が起動する。
これがインストールウィザードのキモであり、これでインストール先ディレクトリ決めたり、
プログラムグループ決めたりしてるわけですね。
もし途中でキャンセルされると、再びsetup.exeが起動されVBランタイムがアンインストールされる。
と。

これで、たぶんあってますよね。

通常、
C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Setup1
に入ってるソースは、setup1.exeのもので、
これを作り替えればディストリビューションウィザードの動きも変わる・・と。
そうですよね。
003221NGNG
>DLLの中の関数の詳細をみるにはどうしたらいいんですか?
>>23 >>25

普通の?DLLだと想います。
たとえば、そのDLLにどのような関数が含まれているかを見る方法、
あとはドキュメントが隠されていたりしたらそれを見る方法です。
(関数だけだと、その関数の使用用途がよくわからない場合も多いので)
0033デフォルトの名無しさんNGNG
>>32
dumpbin.exe で関数名とエイリアス名はわかる。
VBにも付属してたっけ?
でも、ドキュメントも公開されていないような関数を
使うのは、引数とかの範囲もわからないわけで、
そういうことはしないで他の方法を探したりする。
0034デフォルトの名無しさんNGNG
>>32
何がしたいの? まさか仕事でやっているんじゃないよね。

関数を見る方法が無いわけじゃないけど
(たとえばVisual StudioについてるDependency Walkerを使う)
普通のDLLなら関数名ぐらいしか分からないよ。
ActiveXなら引数までわかるけどドキュメントなんかは普通無い。

最初っからあやしいことするなら別だけど、ちゃんとしたドキュメントみな。
0035デフォルトの名無しさんNGNG
ヘルプの例文に次のようなコードがありました。
With Application.CommandBars("cell").Controls _
.Add(Type:=msoControlButton, before:=6, _
temporary:=True)
.Caption = "New Context Menu Item"
.OnAction = "MyMacro"
.Tag = "brccm"
End With
なんとなくわかるのですが、なんか変な気がします。(withの後ろにオブジェクトではなくメソッドが書かれている点)
この場合、with文の中身の.caption等はどこに対応していることになるのでしょうか?
また、このコードをwithを用いずに書くなら、どのようになるのでしょう?
0036デフォルトの名無しさんNGNG
みんなVBやるときエディタなに使ってるんですか?
0037デフォルトの名無しさんNGNG
>>35
最悪だろこれ。だれが書いたんだ。面倒だから動かしてないが、
.AddメソッドはCommandBarControlを返すわな。
.Captionは新しく作られたCommandBarControlにかかっているのだよ。書き直すと、

Dim cbc As CommandBarControl
Set cbc = Application.CommandBars("cell").Controls.Add(Type:=msoControlButton, before:=6, temporary:=True)
With cbc
 .Caption = "New Context Menu Item"
 .OnAction = "MyMacro"
 .Tag = "brccm"
End With

ということだ。cbc使わなくしようと思ったらああなるだろ。
CommandBarあたりはあまり使ったこと無いから型とか間違ってたらゴメンな。
0038デフォルトの名無しさんNGNG
>>36
普通はIDE付属のエディタだろ。あれ以外でコントロールの配置や
RADと統合やらコード補完や定義文へのジャンプやらプログラミング時の
エラーチェックがまともにサポートされているエディタは知らんぞ。

キーカスタマイズできんのが難だがそんなもんは
キーカスタマイズツールで変更すればいいだけだし。
0039デフォルトの名無しさんNGNG
VBで配列の要素数ってどうやって調べるんでしょうか?
0040デフォルトの名無しさんNGNG
>>37
なるほど、addメソッドは値を返すんですか。
それですべての謎が解けました。
ありがとうございました。
0041デフォルトの名無しさんNGNG
>>39
MSDNで検索できました。
Ubound関数ですね。
0042年中無休で働き続ける男NGNG
VBと互換性があって無料のものってありませんか?
Cはありますよね?
VBって無いんですか?
マジで教えてください。
0043デフォルトの名無しさんNGNG
>>42
Delphi6
Borlandのサイトに行けば無料で落とせるよ。
0044デフォルトの名無しさんNGNG
VBとDelphiに互換性があるなんて初めて聞くぞ。
42が言っているのはフリーなVBコンパイラがあるかということだろ。
0045デフォルトの名無しさんNGNG
インタプリタならあるがコンパイラはない。
・・・という答えであってるかな?
VBCCEってのがMSから無料でダウソできるそーだ。
0046デフォルトの名無しさんNGNG
>38
http://www.vector.co.jp/soft/win95/prog/se072486.html こーいうのがないかなぁって思ったんだよね
0047年中無休で働き続ける男NGNG
VBが欲しいです
0048デフォルトの名無しさんNGNG
>>47
買いましょう
0049デフォルトの名無しさんNGNG
>>47
働けって。
0050デフォルトの名無しさんNGNG
>>47
どうせ、おまえには使いこなせないからやめとけ。
0051デフォルトの名無しさんNGNG
>>46
VBでもアドインで外部エディタを使えるようにすることもできると思うが
VBに限らずIDEで開発している人は外部エディタなんか使わないと思うぞ。
今はIDEの方がエディタは使いやすいし。
0052デフォルトの名無しさんNGNG
->とか.とか入れたらなんか出てくるところがいいんじゃねーか。
Notepadはすっこんでろ
0053デフォルトの名無しさんNGNG
>>52
ここはVBスレです。
0054仕様書無しさんNGNG
>>30
>MUTANT_ALL_ACCESS
この定数の値はどうなってる?

それと…。
> CreateMutex
こいつの Declare文は?

最初のlpSecurityAttributesはポインタだ。
何もせずに 0を渡したりしてるが、もちろん宣言は ByValに変えてあるよな?
00556NGNG
>>7
ド亀レスですが、ありがとう。
AccessVBAやってみたよ。
これって、あるコントロールの.Text取ろうと思ったら、
いちいち先に.Setfocusしないとダメなんですか?
もっと、良い方法あるのかな?
0056デフォルトの名無しさんNGNG
>>55
.Value
0057デフォルトの名無しさんNGNG
>>26
>javaScriptでやってみたんですが、WordとかCSVはダイアログが出るんですが
>pdfとかは出来ないんですよね・・・・

IE4、IE5、I5.5、IE6の仕様レベルでのバグなので無理です。
Content-Dispositionの解釈が無茶苦茶なので、勝手に開きます。
環境によってはWordも勝手に開くし、CSVでも勝手に開く。
#こういうことやってるからウィルスにやられるのよ、IEは。

http://www.microsoft.com/japan/support/kb/articles/J050/8/65.asp
http://tohoho.wakusei.ne.jp/lng/199903/99030058.htm

↑他にもあったと思うけど、ちょっと見つからないや。

サーバ側から返すヘッダをIE向けにアレンジしたらダイアログを出すことはできるけど、
バージョンによって、「.」だけとか「XXX.」とかいう変なファイル名がデフォルトで表示されたりする。
バージョンによってもこの辺の挙動が微妙に違ったと思う。

#ネスケだけに対応する場合は、ファイルタイプをapplication/octet-stream
#にすればなんとかなったような・・・・。
0058デフォルトの名無しさんNGNG
MSRDCに接続する時、
画面にパスワードなど入力画面画出るのですが、
これが出る前にソースでパスワードを
入れるにはどうしたらいいのですか?
005958NGNG
ORACLEODBCに接続したいのですが、
どういうソースを書いたらいいのでしょうか?
0060デフォルトの名無しさんNGNG
>59
ttp://otn.oracle.co.jp/sample_code/db_connect/odbcasp.html
これくらいはグーぐればすぐ出てくるぞ。
006158NGNG
>60
すいません。
ありがとうございます。
0062デフォルトの名無しさんNGNG
pascalの in に相当するような演算子はVBにはないようですが、何かいい方法はありますか?
if a in [1,7,13,17,19,20,21,29,59] then 〜
は
if (a=1) or (a=7) or (a=13) or (a=17) or・・・ と書くしかないのでしょうか?
0063デフォルトの名無しさんNGNG
これじゃヤだ?>>62
Select Case a
 Case 1 7 13 17 19 20 21 20 59
  '適合する場合の処理
 Case Else 'その他の場合
  'その他の場合の処理
End Select
0064デフォルトの名無しさんNGNG
>>62
その通り。if文を使う限りはそうなる。
ちなみにVBは a = 1 or ... というようにかっこで囲む必要がない。

>>63の方法を使わなければならない。
ひとつ気がついたけど、
> Case 1 7 13 17 19 20 21 20 59
は
Case 1, 7, 13, 17, 19, 20, 21, 20, 59
という風にコンマで区切る必要があるのでは。
006562NGNG
>>63
>>64
ありがとうございました。
0066デフォルトの名無しさんNGNG
63です。すんません。コンマ要ります。ド忘れました。
0067デフォルトの名無しさんNGNG
VBでちょっとしたプログラムを作ってみたんだけど、HSPだったら
「ぽいっ」
とソースを貼り付けできるんだけど、VBだと、困るよね。
どうしたらいいんだろうか。
0068デフォルトの名無しさんNGNG
なぜこまる。
「うりゃっ」
と貼り付けて見ろ。

MsgBox "Hello, Bill!", vbInformation, "うりゃ"
0069デフォルトの名無しさんNGNG
If 67 = "厨房" Then
MsgBox "イベントドリブンって知ってる?", vbInformation
Else
MsgBox "ネタにマジレス、、、", vbInformation
End If
0070  NGNG
質問です。
デザイン時とコード内、どちらでも設定可能なプロパティは、
プロパティウインドウで設定する方がいいのでしょうか?
0071デフォルトの名無しさんNGNG
標準モジュールに書くのと、クラスモジュールに書くのの差は何ですか?
てゆか、クラスモジュールのことはさっぱり分からないんだけど。
0072デフォルトの名無しさんNGNG
vb の最大の欠点を発見してしまった。
1行がコードの単位だから、あまり長い行が書けない。
Scheme とかだと、改行でうまく構造化できるのに。
0073名無しさんですNGNG
>>72
アンダーバー使え
0074デフォルトの名無しさんNGNG
>>72
“_”つけて、途中で改行すればいんじゃない?
0075デフォルトの名無しさんNGNG
>1行がコードの単位だから、あまり長い行が書けない。
>Scheme とかだと、改行でうまく構造化できるのに。

_ でつなげられるけど読みやすくはないね。
SQL文をよく書くんだけどダブルクオートとアンパサンドとアンダーバーばっかりで
コードが読みづらくてしょうがない。perlやRubyだと変数展開してくれるし
ヒアドキュメントがあるから何でもないんだけどね。
0076デフォルトの名無しさんNGNG
コードの見やすさと言えば、
変数いっぱい並べてまとめて代入してる所とか、
タブで綺麗に成形したくても=の後はスペース1個に勝手に変えちゃったりするのって
ナントカならんの?
0077デフォルトの名無しさんNGNG
_付けすぎると、VBで読みこみ時に多すぎるとか
エラー吐いてそれ以降読んでくれないんだけど、あれウザイ。
どうにかしろ。仕事にならん
0078デフォルトの名無しさんNGNG
schemeを知っててVB使ってるのか。お気の毒
0079デフォルトの名無しさんNGNG
条件付コンパイルってありますよね。
#if DEBUG_MODE then
 デバッグ用のコード
#end if
↑こんなやつ。最近知ったので使い出したんですが、問題はDEBUG_MODEの定義。
今のところプロジェクト内のすべてのモジュールで
#const DEBUG_MODE = true
とか定義して、リリース時にtrueをfalseに一括置換してます。
これが面倒なので、もっといい方法はありませんか?
0080デフォルトの名無しさんNGNG
>>79
条件付きコンパイル引数
0081デフォルトの名無しさんNGNG
>>77
_付けすぎるとVBがごねるのはダメだとして、
それで仕事にならんことはないと思うが。
0082デフォルトの名無しさんNGNG
>>71
デザインパターンを実装するときに使用します。と言ってみるテスト。
0083デフォルトの名無しさんNGNG
>>71
一言であんたが理解できるような説明の仕方があったら
あのMSだってヘルプに書いているだろうな。
まぁ悩め。普通の人間ならそのうちわかるからw
008477NGNG
>>81
そのためだけにソースの方を修正する必要があって困る。

str = "〜" _
& "〜"
を
str = "〜"
str = str & "〜"

に直してけば直るが、こう何度もおこると
イライラして仕事にならん。
こういう処理系の作り的な不具合(仕様か?)は勘弁してくれ。
こんな制限あるなら最初から'_'なんか無くしちまえ
0085デフォルトの名無しさんNGNG
>70
>プロパティは、 プロパティウインドウで設定する方がいい?

 プロパティは全てデフォのままでコード中から制御する方がデバッグする時に楽だ(と思う)。
 何故なら、コードのみを注視すれば良いから。

 仮にプロパティウインドウにて設定すると、コードに加えプロパティウインドウにも注意しないと
いけないため、コントロール数が多い時追うのが大変。
 ちなみに某社では「コード中に記述する事」というコーディング規約があった。

>71
ttp://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/

0086デフォルトの名無しさんNGNG
>>84
最初っからそう書けばいいのでは?
どうせ_で問題が起きるのはSQL文くらいなもんでしょ。
0087デフォルトの名無しさんNGNG
>>71
FileSystemObjectのようなものを作ってみたら?
標準モジュールでは問題があることが分かると思うよ。
0088デフォルトの名無しさんNGNG
>>84

サンプルなのでどうでもいいが、strなんて変数はやめとけ。
標準の関数名だから。

>str = "〜" _
>& "〜"

と書くのがそもそも間違い。

>str = "〜"
>str = str & "〜"

sql = ""
sql = sql & "select"
sql = sql & " fieldA AliasA"
sql = sql & ",fieldB AliasB"
sql = sql & ",fieldC AliasC"
sql = sql & " from"
sql = sql & " tableA AliasTA"
sql = sql & ",tableB AliasTB"
sql = sql & " where fieldA = 'あああ'"
sql = sql & " and fieldD = 'いいい'"

とか書く。経験的にこれがベターだと思う。
ま、問題は、selectの直後のフィールドとwhereの直後の条件だけ
書き方が例外的になるところかな。(この書き方の問題ではないが)
008970NGNG
>>85
ありがとうございます。
たしかにそうですね。コードで全部設定すればプロパティウインドウは気にしなくて
いいですね。
……ただ、そうすると実行ファイルのサイズが大きくなったり、実行速度が低下したりは
しないのでしょうか?
0090デフォルトの名無しさんNGNG
ちなみに、「_ 」(アンダーバー+半角スペース)の
行継続文字の使用は25個までだ。

各種制限事項はMSDNで一箇所にまとまってるから、
嵌りたくなければ、常識として目を通しておくように。
http://www.asia.microsoft.com/japan/developer/library/vbcon98/vbconvisualbasicspecificationslimitationsfileformats.htm
0091デフォルトの名無しさんNGNG
VBAスレってないみたいなんだけど VBでいいのかな
0092デフォルトの名無しさんNGNG
>>91
いいんじゃない。
0093デフォルトの名無しさんNGNG
>>89
当然大きくなるし、遅くもなる(微々たるもんだがな)。
気になるならプロパウィンドウで設定すればいいじゃん。
完璧なもんなんかあるわけねーだろ。
0094デフォルトの名無しさんNGNG
VBと言うよりVBAなのですが、MS-Projectのマクロから
他のMS-Projectファイルを裏で起動させて
そのファイルの内容をコピーして、利用したいのですが、マクロから
MS-Projectの起動方法が分からないのです。
どなたか、知っておられる方がおりましたらご教授下さい。
009530NGNG
>>54 亀レスすみません。

>>>30
> >MUTANT_ALL_ACCESS
> この定数の値はどうなってる?

Const MUTANT_ALL_ACCESS = &H1F0001
です。

> それと…。
> > CreateMutex
> こいつの Declare文は?
> 最初のlpSecurityAttributesはポインタだ。
> 何もせずに 0を渡したりしてるが、もちろん宣言は ByValに変えてあるよな?

こんなかんじです。
Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" ( _
ByVal lpMutexAttributes As Long, _
ByVal bInitialOwner As Long, _
ByVal lpName As String) As Long


・・・実はDeclareをFormとは別の標準モジュール中で宣言してたんですが、もしかしてそのせい?
009694NGNG
ヘルプにある

Dim pj As Object

Set pj = CreateObject("MSProject.Project")
pj.Application.FileOpen "My Project.mpp"

を試して見たのですが、「書き込みに失敗しました」とエラーが
出てしまいます。 何がいけないのでしょうか?
009777NGNG
>>86 >>88
あのなあ、そんなことはわかってんだよ。
引継ぎってやつを知らねえのか?
最初から自分で作る分はそれで書いてるよ。
それからな、strは例なわけよ。今は変数名の議論なんかしてねえだろドアホ!
あーヒアドキュメント使いてー
ふつーのSQL文を文字列に直すのだけで一苦労だっつーの。
二重引用符うぜー

>>90
不具合を常識とか言ってんなヴァカ!
009877NGNG
そもそも'_'にそんな制限つけるほうがバカだね。
_付けるぐらいだから長いに決まってんだろーが!
コメントにまで_適用しやがるし、もう使えねーよVB。
009994NGNG
何か参照設定でもあるのでしょうか?。。。。
0100デフォルトの名無しさんNGNG
>>97
> ふつーのSQL文を文字列に直すのだけで一苦労だっつーの。
あんたPerlつかえるんだろ?
だったらPerl使ってSQL文整形すればいいじゃないか。
そうすりゃ、"_"から"str & 〜"への変換も楽だろ。
俺はawk使ってるけどな。
SQL文→VBの文字列、VBの文字列→SQL文への変換もそれでやってるし、
フィールド名なんかはドキュメントから変換して使うから
長いSQL文でもなんの苦にもならねぇんだが。

プログラマなら口出す前に頭使えよ。
0101デフォルトの名無しさんNGNG
>プログラマなら口出す前に頭使えよ。
うるせー馬鹿
0102100NGNG
>>101
ほらよ。awkで作った変換スクリプトあげるから、ヘソ曲げるな。perlじゃなくてすまんな。
作成時間数分程度のちゃちいものだから変換結果が気に食わなかったらカスタマイズしてね。
コマンドライン操作がイヤなら適当なGUIでもさがして。ちなみに俺は自作。

普通のSQL文をVBの文字列連結に変換する
{
print "str = str & \"" $0 "\"";
}

アンダーバーから文字列の連結に変換する
{
s = $0;
gsub("& _$", "", s);
print "str = str & " s;
}
0103デフォルトの名無しさんNGNG
普通自作関数で整形するかエディタでなんとかするよな>SQL

効率悪い仕事しかできない奴ほどすぐ環境のせいにする罠
0104デフォルトの名無しさんNGNG
VB6を使っています。
デスクトップフォルダまでのPath名を取得したいのですが
どのようにすればよいでしょうか。ご教授ください。
OSはWin95からWin2000までです。
010594NGNG
VBと言うよりVBAなのですが、MS-Projectのマクロから
他のMS-Projectファイルを裏で起動させて
そのファイルの内容をコピーして、利用したいのですが、マクロから
MS-Projectの起動方法が分からないのです。
どなたか、知っておられる方がおりましたらご教授下さい。

ヘルプにある

Dim pj As Object

Set pj = CreateObject("MSProject.Project")
pj.Application.FileOpen "My Project.mpp"

を試して見たのですが、「書き込みに失敗しました」とエラーが
出てしまいます。 何がいけないのでしょうか?
0106デフォルトの名無しさんNGNG
awkって結構使ってる人いるんだ?
010777NGNG
>>102
さんくすこ。


>>103
>普通自作関数で整形するかエディタでなんとかするよな>SQL
はあ?
何いってんの?
0108デフォルトの名無しさんNGNG
>>107
いいからさっさと死ね
0109デフォルトの名無しさんNGNG
>>77
使えないのは、VBじゃなくて
最初に糞コード書いた奴&>>77だろ
何でもVBのせいにするなよ。
0110デフォルトの名無しさんNGNG
inetの使えないLearningEditionのVB6に愛の手を・・・
WEB上のHTMLページのソースを取得したいのですが、
ient.OpenURLを使うことが出来ません。
他に方法があると思うのですが紹介をお願いします。

VBAでも同様にソースを取得したいのですがお願いして良いでしょうか...
0111デフォルトの名無しさんNGNG
>>110
Learning Edition については、よく知らないが、
Winsock コントロールもついてこないのかな?
0112110NGNG
>>111
ええそうなんです...
ここにはExcelVBAで繋いでるスクリプトがあるんですが
ソースが公開されていない・・・
ttp://isweb31.infoseek.co.jp/computer/denoyaji/vba_kowaza.html

あちこち回っているのですがなかなんか収穫ありません。
また少しgoogleで回ってきます
0113例え君NGNG
すいません。僕の例え話に付き合ってください。

標準モジュールとクラスモジュールの違い

A君は標準君というロボットを開発しました。
標準君は人間としか思えない動きを連発しました。大発明です。
みんな大騒ぎです。天才!天才!A君は大変喜びました。
そのころ、B君もクラス君というロボットを開発しました。
クラス君も人間としか思えない動きを連発しました。これまた大発明です。
標準君とクラス君どちらが勝つのか。A君は自信満々でした。
「標準君の方が発売日が一週間早い。勝ったも同然だな。」
結果、B君のクラス君が圧勝でした。標準君は忘れ去られました。
何故でしょうか?答えは簡単です。
標準君はすべてのロボットが同じような動きしかしませんでした。これでは面白くありません。
しかしクラス君はそれぞれのロボットに性格(プロパティ)を設定することが出来たのです。
性格が違えば行動も違う。怒りっぽかったり、泣き虫だったり…
これは面白い。こうしてB君は歴史に残る発明家となったのです。

よくわからないけど、こんな感じなのですか?
0114デフォルトの名無しさんNGNG
>>113
OOのたとえ話って言うんなら解るけど
VBのクラスモジュールの例え話としては大げさな感じがする。
0115デフォルトの名無しさんNGNG
>>113

クラスモジュールはたこ焼き器だ。
たこ焼きを量産できる。具をたこの代わりにイカを入れてもいい。
てんかすをいれてもいい。

標準モジュールは1つしかボール上の凹みがないたこ焼き器だ。
1つしか作れない。
0116115NGNG
ボール上→ボール状
0117例え君NGNG
>>115
なるほど。プロパティを具に例えることによって
具を変えると味が変わるという簡単かつ明瞭な方法で、クラスモジュールを例えられている!
しかも具が違ってもたこ焼きの外見は変わらないというところが実にいい!

標準モジュールというたこ焼き器も、↑と同じことをしようと思えば、
そのたこ焼き器本体自体を大量購入しなければならないという効率の悪さを上手く表現している!
天才だ…
0118デフォルトの名無しさんNGNG
テキストボックスとラベルを貼ったフォームがあって、
ラベルをクリックするとテキストのValidateがおき、
GotFocusがおきずにフォーカスがテキストに戻るのですが、
世の中そういうものでしょうか?

ラベルを連打するとValidateだけが何度もおきる・・・
0119デフォルトの名無しさんNGNG
>>118
そういうもんです。一つ賢くなりましたね:)
0120デフォルトの名無しさんNGNG
ここのBBS↓読めねぇぞゴルァ
http://www.users.gr.jp/WebBoard/show.asp?1058.htm

ユーザー登録とかちゃんとしてるんだけどなぁ〜一応。
0121デフォルトの名無しさんNGNG
VBでクラスのインスタンス?(Newしてできる複製のこと)
を作るときインスタンスごとに初期化したいクラス内の変数
があります。
 初期化はどうしたらいいのでしょうか。

Formの生成の場合もそうなのですが、
現在は初期化の方法がわからないので、インスタンスを1個以上
作ったことがありません。

よい方法が見つからないのですが、なにかよい方法はないでしょうか?
どなたか教えてください。
0122例え君NGNG
インスタンスに挑戦。
マクドナルドでメニュー(ツールボックス等)を見て、食べたい物(クラス)を決めて、
店員(VisualBasic)に食べたい物を言うと、店員がそれと同じ物を作って出してくれる。
これをインスタンスと言う。

>>121
僕は例えているだけで、あまり使い方はしりませんが、
>>85さんの書き込んでいるリンク先のインスタンスの誕生と終焉という
ところに書いてあった気がします。
0123デフォルトの名無しさんNGNG
フォーム全体の大きさではなくて、
テキストボックスとか、リストビューなどの
コントロール自体を、マウスのドラッグでリサイズするには、
どうすればいいのでしょうか?

例えば、Webブラウザのフレームの境界をドラッグして、
リサイズするみたいなことをやりたいのですが、
どのコントロールを使うのかもわかりません。
お願いします。
0124デフォルトの名無しさんNGNG
>>122 情報ありがとうございます。

<<このような場合は、クラスモジュールのイベント Initialize
と Terminate を利用します。>>
と書いてありますが、わたしがやりたいのは、たとえば

 Private 赤_りんご As New clsりんご(iro := "赤")
 Private 青_りんご As New clsりんご(iro := "青")

のような感じなのです。

 私の感じでは「クラスのインスタンスを生成する側が
初期値を指定できないと使いづらいというか、
クラスの意味が半減?する気がします。」

 そんな馬鹿なことはないと思いますので、なにか方法があるように
おもうのです。Initializeにたいして、(インスタンスを
作成する側は)初期値を渡せるのでしょうか?
0125デフォルトの名無しさんNGNG
>>124
引数付きコンストラクタはありません。
VB.NETからはできるようになっています。

初期化用メソッドを各クラスに作成し、
必ず実行すべしという自分ルールを作るくらいしかありません。

標準モジュール(例えばConstructor.basとする)を使って、
Public Function Class1( _
ByVal arg1 As String, ByVal arg2 As Long) As Class1

Set Class1 = New Class1
Class1.Init(arg1, arg2) ' クラス側で初期値設定用のInitメソッドを用意しておいてね。
' 後、Initメソッドはここ以外で呼ばない。このクラスのインスタンスが必要なときは、
' Newではなくこの関数を経由すること、という取り決めを守ってね。
End Function

とかいう風にすると、
Dim c As Class1
Set c = Class1("引数1", 100)

のようにすることもできますが、所詮は見た目だけです。
0126デフォルトの名無しさんNGNG
>>89
エディタで一回frmファイルを開いてみる。

>>113
結局、「クラスはカスタマイズ可能」というだけ?
たとえ話を考えようとした努力は認めるけど。

>>123
簡単ではない。
ラバーバンドで表示して、マウスボタンを離したらリサイズ
するのなら、なんとか書けるかな。
0127デフォルトの名無しさんNGNG
TDBGRIDで、何行目を選択する
って言うのをマウスを使わずに
ソースでできますか?
0128127NGNG
簡単なことだた。
012926NGNG
>>57
不可能だと分かりました・・・・・
参結構悩んだ人がすでに居たんですね参考になりました。
ありがとうございました。
0130デフォルトの名無しさんNGNG
AccessやExcelのVBAコード入力中に、VBのようにF1キーでMSDNを
開くことは出来ないのでしょうか。
知りたい単語にカーソル合わせてF1で開けたら便利なんだけど。。。
0131デフォルトの名無しさんNGNG
>>123
SetWindowLongでスタイル変更してリサイズ可能にできるが、
VBのデザイナのようにはならない。
0132131NGNG
>>123

>例えば、Webブラウザのフレームの境界をドラッグして、
>リサイズするみたいなことをやりたいのですが、
>どのコントロールを使うのかもわかりません。


アプリケーションウィザードでエクスプローラ風スタイルを
選んでアプリの雛形を作れば、その中に実現しているコードがある。

従来のVBにはそういうコントロールは付属していない。.NETにはSplitterがあるけどね。
0133124NGNG
>>125
ありがとう

>引数付きコンストラクタはありません。
>VB.NETからはできるようになっています。

長い間疑問に思っていたことが、漸く理解できました。
VBは少しだけ、欠陥があったわけですね。
 VB.NETでは関数がreturnで戻り値を返せるようになった
そうですね。これも長い間疑問に思っていました。
0134デフォルトの名無しさんNGNG
>>126さん >>131-132さん
ありがとうございます。
VB6.0には専用のコントロールはないんですね。
とりあえず、「できたらいいな」っていう程度の
状況なので今回は諦めて、暇なときにいろいろ試してみます。

ひょっとすると、別々のフォームに載せちゃって、
一方のフォームの大きさや位置に応じて、
他のフォームを変形させる方が楽かも、とか思ってます。
デスクトップ上の位置を取得するのも面倒かもしれませんが・・・

とにかく、教えていただいてありがとうございました。
では。
0135123 & 134NGNG
フォームのtopとか、leftってデスクトップ上か、
親ウインドウの座標になるんですね。
初心者すぎてよくわかってませんでした。
0136  NGNG
 ビジュアルベーシックには、文字データや数字データを全般的に指したり、判別するステートメントや関数はありますか?
例えば次のような場合に使いたいのです。

 もし a = 文字だったら、
    ・・・・・・する。
 そうではなく a = 数字だったら、
    ・・・・・・する。

 もしあれば教えてください。
0137デフォルトの名無しさんNGNG
>>136
Isなんたらで出来るけど、
なんか文面が引っかかるなぁ。データ型って概念ちゃんとあるよね。
0138デフォルトの名無しさんNGNG
Variant型の中身を調べたいってんなら、TypeName関数ってのもある。

が、そういう使い方はキモイよ。
何の為に型宣言をするのかを考えてみてね。
0139デフォルトの名無しさんNGNG
オーバーロードを無理矢理実現するのに使えることが…。
ふつう使わないけど。
0140デフォルトの名無しさんNGNG
あと、VarTypeやTypeOf
0141 NGNG
 string変数内の文字と数字を判別したいのです。
0142デフォルトの名無しさんNGNG
それなら>137が提案している案。
この場合はIsNumericか。
0143デフォルトの名無しさんNGNG
でも注意点が一つ。
IsNumericは数値に変換できるか調べるのであって
すべて数字であるかを調べるのではない。

たとえば、
IsNumeric("&H10")はTrueになる。なぜなら数値(16進数表記の16)のことだから。
全部数字であることをチェックするには関数を作らなければならない。
ループして一文字ずつチェックをするだけだから簡単でしょ。
0144( ´∀`)NGNG
リストビューの項目の削除のやり方がわからんYO
MSDN見ても載ってない…
だれかおせーて
0145デフォルトの名無しさんNGNG
144に便乗質問。
リストビューの各列って色変えれたっけ?
0146 NGNG
>>143 それつくってるんですよ
0147デフォルトの名無しさんNGNG
>>144
object.Remove (index)

ってmsdnに載ってるぞー。
ListView1.ListItem.Remove 1
とかいう風に使う。
0148デフォルトの名無しさんNGNG
ごめん、間違い。
ListView1.ListItems.Remove index
ね。ListItems。S入れ忘れ。
0149144NGNG
>>148
ありがとう おじさん!
0150デフォルトの名無しさんNGNG
「VBCCE」ってのを使っています。


質問1.
読み込み専用のテキストボックスってどうやったら良いですか?
KeyPress イベントで KeyAscii を0にすれば入力は禁止できますが「DEL」キーで文字が削除されてしまいます。

質問2.
複数行テキストボックスでリターンで改行する際にデフォルトのボタンがあるとボタンの入力になってしまい改行できません。


どうにかしてください。
0151デフォルトの名無しさんNGNG
やだ。
0152デフォルトの名無しさんNGNG
>>150
1:Text1.Locked = True にする。
2:デフォルトのボタンを設定しない。
0153りNGNG
ぼくはC言語を勉強したとき、DOSプロンプトで実行するものしか作らなかったのですけど、
C言語でVBのようなテキストボックスやコマンドボタンを作れるのですか?
0154りNGNG
スレ違いですが、続いて聞きたいことがあるのでぜひおねがいします。
0155まとれすNGNG
>>130
直接は無理だけど、アドインを作ればおっけー

>>139
オーバーロードとは言えないと思うぞ

>>144
ListItemsだったか? コレクションの使い方を学べ

>>145
SubItemのBackColor

>>150
Lockedはなかったか? Enabledでどうだ。
なんか、プロパティで制御できたような気が・・・
ダメなら、メッセージかスタイルの設定だな。

>>153
できるぞ。かなーり面倒だがな。
0156仕様書無しさんNGNG
>>110
Inetコントロールの実態は、WININET.DLLだ。
Internnet〜系のAPIを自分で宣言して使うしかなかろ。

http://www.mitene.or.jp/~sugisita/family/papa/vb/index.html
ここでも行ってみれ。
0157デフォルトの名無しさんNGNG
VBのブラウザコントロールって自分の環境のバージョンのIEですか?
同じディレクトリに置いた外部CSSとか読めますか。
0158りNGNG
やっぱりできるんですか。
「C言語でできないことはない」といってる友人がいるのですが、VBのようにテキストボックスとコマンドボタンをひとつずつ配置して、
テキストボックスに何か値が入っているときだけコマンドボタンを有効にするっていうのは可能ですか?
VBのChangeイベントみたいな感じでです。
0159デフォルトの名無しさんNGNG
>>158
その友人は正しいよ。
VBで作れてVC++で作れないアプリはない。

それも出来る。イベントじゃなくメッセージだけど。
0160デフォルトの名無しさんNGNG
>>158
そのC言語の商品名とバージョンが少し気になったりする。
0161りNGNG
>>159
かなり「できる」友人です。やっぱり彼は正しかったんですね・・・。
Cを勉強してたとき、ポインタで挫折するという典型的なパターンを踏んだぼくから見れば、Cのできる人は尊敬に値しますねえ。
VBならコントロールごとに分けて考えることができるので、まだわかりやすいような気がします。
>>160
詳しいことはわかりませんが、学校で学んだCではDOSプロンプトで実行するやつ(コンソールアプリケーションとかいうのを選択してやってたような気がします)の後に、
授業が分かれて、彼はMFCとかいうのをやる方を選択したようです。
0162まとれすNGNG
>>157
そういうこと。読めると思うけど・・・

>>158
もちろんできる。

>>161
ポインタで挫折するのはしょうがない。が、アドレスについて理解するように
すれば、いずれマスターできると思うぞ。
0163デフォルトの名無しさんNGNG
構造体ってのがよく分かりません。
なんの為に、たくさん宣言するんですか。
使い所を教えて下さい。
0164まとれすNGNG
#まとまってないが・・・

>>163
同じタイミングで使う変数は、ひとつのところにまとめておいた方が、間違いが少なくなる。
たとえば、Aという関数で10個の変数を初期化し、それをBという関数に渡すとする。
10個の変数を別々に使うと、抜けがでたりすることもあるだろ? 引数を10個指定するのも
面倒だし。

そういうとき、構造体を使ってれば、まとめて扱うことができる。

#以下余談

これ、オブジェクト指向プログラミングで重要になってくる、カプセル化につながる
重要な考え方だ。実際、クラスは構造体に関数を加えたものに過ぎない。
0165163NGNG
>>164
ありがとうです。
初期化、引数の渡しやすさなど、なんとなーくですが分かった気がします。
精進します。

0166デフォルトの名無しさんNGNG
>>161
MFCはCというよりVC++だなぁ。
MFC使わない場合でも、Win32API使えばOKだけどね。その場合はCでもC++でも、
DelphiでもVBでも同じようなものだけど。
(VBやDelphiでAPI使ってウインドウ作るのは馬鹿馬鹿しいが。)
0167デフォルトの名無しさんNGNG
alphablendを使えば使うほどPCが重くなるんですが、何を解放すればいいんでしょうか。
0168デフォルトの名無しさんNGNG
あの、これから始めるはどのようなソフト買えば
いいのでしょうか?当方プログラミング未経験です。
お願いします。
0169デフォルトの名無しさんNGNG
>>168
勉強したいだけなら買う必要はないぞ。
VBなら制限はあるがフリーでVBCCEがあるし、
JBuilder、Delphi、Borland C++ Compilerなんてのもフリーだ。
他にも色々フリーであるからとりあえず触ってみるのもいいかも。
0170デフォルトの名無しさんNGNG
つーかVBなんて使うな
0171デフォルトの名無しさんNGNG
>>150
>読み込み専用のテキストボックスってどうやったら良いですか?

Labelで十分。凹ませたかったらBorderStyleプロパティいじれ。
0172デフォルトの名無しさんNGNG
>>170
一部で需要があるから仕方ない
0173まとれすNGNG
>>167
別に解放するものなんかないんだが・・・ 他の部分を疑ってみれ。

>>168
>>169も言ってるように、フリー版やお験し版で試してみるのがいいぞ。

>>170
なんでだ? 理由を述べよ。


0174本気な名無しさんNGNG
だれかーーーーー
VB6.0なんだけど、ComboBoxでAddItemでデータを入れて、
そのデータを選んだときにイベント発生させたいんだけど、
combo1.change() ってやつではそのAddItemで追加したデータを選択した
だけではイベント発生してくれないみたいなんです。
これを、AddItemで追加したデータを選択しただけであるイベントを発生させるには
どうしたらいいんでしょうか?
2ちゃんねらーの方々よろしくおねがいしますです。
0175読まずにカキコNGNG
>174 combo1.Clickを使え
0176本気な名無しさんNGNG
あああああああああああーーーーーーー
ほんとだぁできたーー^^
ほんとしょうもない質問してすいませんでしたーー(’▽’)ノシ
0177177NGNG
VB で 8.3 以上のディレクトリ名を含むフルパスから、8.3 の
短い名前のディレクトリ名のフルパスは、どうすれば取得できる
でしょうか?

過去ログ(HTML化待ち以外)はざっとさがしましたが見つけられません
でした。
0178177NGNG
dir /x の結果から作れないことはないんだけど、もっと簡単な方法が
あるはずだ。
0179デフォルトの名無しさんNGNG
RetVal = Shell("C:\TEMP\TEST.exe", 1)
ってやって
このファイルが存在しない時
実行時エラー53
ファイルが見つかりません
っていうエラーがでるんだけど
ON ERRでつかめないんだけど…
何で????
0180デフォルトの名無しさんNGNG
× ON ERR
○ On Error
うちの外注もよくやる。
0181デフォルトの名無しさんNGNG
>>177
FileSystemObjectのShortPath
ところで2ちゃんねる以外で探してる?
0182177NGNG
>>181
0183177NGNG
>>182 は誤爆

>>181

サンクスです。一応、Google で適当なキーワードで検索してみたんですが、
FileSystemObject の ShortPath にはたどり着けませんでした。

MSDN にも ShortPath メソッドが載ってないのは古いからか。

試してみます。
0184デフォルトの名無しさんNGNG
Option Explicit とは反対の機能というか、使われていないが宣言されている
変数を見つける機能みたいなものはありますか?
0185まとれすNGNG
>>177
GetShortPathName() もあるぞ

>>179
トラップできるぞ

>>184
ない。アドインつーか、分析ツールみたいのでそういうのが
あったな。フリーソフトで探してくれ
0186デフォルトの名無しさんNGNG
ヘルプ!
VBインストールしたフォルダと違う場所にMSDNインストールしちゃって、
VBでカーソル位置の単語をF1でとれないんですけど、
これを今から関連付けすることは出来ないですか?
再インストールしかないのかー!
0187デフォルトの名無しさんNGNG
>>180
>>185
できました…
180さんまさしくそれでした…
アフォですんません
仕事片付けたら逝きますDEATH
0188デフォルトの名無しさんNGNG
質問です。

 プログラムからマウスポインタを動かすことはできますか?

お願いします。
0189デフォルトの名無しさんNGNG
>>188
mouse_event
0190まとれすNGNG
>>186
どうだったかな。どっかで見た記憶があるんだが思いだせん。
再インストールは、確実な回復策だな

>>188
できる。SetCursorPos() だ。mouse_event()、SendInput()辺りもついでに調べろ

0191デフォルトの名無しさんNGNG
Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long
01926NGNG
AccessVBAやってみました。
VBと同じようにADOでレコードセット取得してDBと繋いだつもりが、
「データベースまたはオブジェクトは読みとり専用であるため、更新できません」と
エラーが出て更新処理が出来ません。
これはなんでですか?VBと同様にやっちゃダメだった?
01936NGNG
ちなみに
Recordset!氏名 = cboName.Value
を実行したとこでエラーに。
0194デフォルトの名無しさんNGNG
179を見て初めてOn Error 〜のErrorの部分に何を入れてもいいということに
気づいたんだけど、これってなんかいい使い道ある?
0195まとれすNGNG
>>192
単に、ファイルが読取専用になってないか? あとは、Connectionを
開くときの設定はどうなってる?

>>194
On 〜 Goto の名残、ってことか。下手に使うと構造化プログラミングを壊すし、
やめておいた方がいいぞ
01966NGNG
>>195
ありがとうございます。

普通にSQL組んで
Recordset.Open strSQL, Connection, adOpenStatic, adLockOptimistic
と、こんな感じですが。。。
0197168NGNG
>>169-173
ありがとうございます。
今日本屋へその手の本見てきたのですが、やはりMS公式の
本を買ったほうがいいんでしょうか?それとも初めからやる
にはもってこいの参考書があればお聞きしたいです。
0198まとれすNGNG
>>196
考えてみると、Staticカーソルを今まで使ったことがなかったぞ

↓とか見ると、更新できないようにも読める。他のカーソルタイプを試してみろ
http://www.zdnet.co.jp/help/howto/win/win2000/0007special/complus_vb/chap1/05.html#lock

あと、接続文字列に問題がある可能性もあるので、それも出してみろ
0199まとれすNGNG
>>197
まず、何をやるか決めろ。その後で推薦図書スレで聞いても遅くないぞ

なお、MS公式は、あまりお勧めできない。
0200デフォルトの名無しさんNGNG
>>184
フリーソフトのdimdelete
0201168NGNG
>>199
どうも。いやはや何が分からないのか分からない状態です。
今まで事務処理だけだったのがいきなりシステム関係に
放り込まれてしまいました。で、4月までに何か覚えとけと
の事でVBを選んだんですが、何が何だかさっぱりです。
これを覚えれば応用でC++覚えられると聞いたんでとりあえず
基礎を全部覚えたいです。よろしくお願いします。
0202まとれすNGNG
>>201
そらー大変だな。正直同情するぞ。

で、実際のところ、どの程度の力を求められてるんだ? それから、Excelマクロでも
いいからプログラム経験は?

会社に開発言語があるなら、買うことについて悩む必要は無いな。
VBでいいだろう。とりあえず、基礎的な部分とデータベースアクセスさえ
できれば、なんとかなると思うぞ。
0203デフォルトの名無しさんNGNG
VBの応用でC++を覚えると。危険行為ですな。
0204デフォルトの名無しさんNGNG
>>201
「これを覚えれば応用でC++覚えられると聞いた」
世の中にはひどい嘘を言う人もいるんだな。

同情するしかできない。
0205デフォルトの名無しさんNGNG
一部ASPが絡みます。あらかじめ失礼。

ActiveReports2.0 + ASPで、PDFを直接ブラウザに送り込んでバーコードを印刷
しようと考えています。ヘルプを読んでいる限りStandardEditionでも出来そう
なですが、「エクスポートフィルタを用いてバイト配列に出力したものを直接表
示」というヘルプ内の記述に対応するサンプルコードが見つかりません。

「オメーの目は節穴か、ここを見れ」でもOKですので、アドバイスをお願い致し
ます(拝)

また、この動作方法を採る場合に気をつけなければいけない点などありましたら
合わせてアドバイス頂ければ幸いです。

……ActiveReports2.0って、まだみんな使ったこと無いのかな?(T_T)
0206デフォルトの名無しさんNGNG
VBだけ覚えてもクソの役にも立たないって噂本当ですか?
無難にJAVA覚えてといたほうがいいっすか?
0207デフォルトの名無しさんNGNG
VBだけじゃまともなプログラマになれる可能性は低い。
いきなりJavaやると挫折する可能性が高い。
仕事で急いで覚えないといけない、というのでなければ、
実際にアプリを組んでみながら言語の勉強もするのがいいと思う。
0208167NGNG
>>173
どうやら間違ってたみたいでTransparentBltを
使いまくるとGDIリソースを消費するみたいです。
スクロールバーで値が変化するごとに使ったらすごい勢いで減っていきました。
サンプル作ったので見てもらえませんか?
http://www.geocities.com/adkteddo/transparentblt.zip
ソース汚いかもしれませんが・・・
0209まとれすNGNG
>>203
そういうステップもある。一概に否定するな

>>204
せいぜい「C++を覚えられるステップになる」だな

>>205
おまえ、MLでも質問してたな。とりあえず、PowerTools ML行け
それから、DataDynamics のサイトはいったか? あっちにはいろいろ
サンプルがおいてあるらしいぞ。

>>206
今のところ「だけ」でも、仕事はある。将来はわからんがな。
Javaはサーバー周りはあるが、クライアントはない。ちょこちょこ
やるなら、まずはクライアントからじゃないか。

>>207
「まともなプログラマ」の定義が難しいところだな。今から見たら
コボラーなんてまともなプログラマとは言えんぞ。だけど、仕事は
それなりにある。ま、10年後、VBが残っているかはわからんが。
0210デフォルトの名無しさんNGNG
まとれす氏は現役バリバリのプログラマーなんですか?
芸暦どんぐらいなんですか?
0211まとれすNGNG
>>208
こっちの環境では問題ないぞ。XP + VB6 SP5

ざっとヘルプとKBをあたってみたが、とくに問題もなさそうだ。
環境は何だ?
0212まとれすNGNG
>>210
芸歴はそれほどない。VB2が出たころからだ。周りの連中がそうであるように、
現役バリバリとはイカン。年を食ってくると、いろいろほかにやらなくちゃならんことも多い。

書いてるコードの量は減ったが、まだまだ若いもんには負けてられん、というところだ。
0213188NGNG
>>189>>190
ありがとうございます!ちょっと遠隔操作チックなことに興味があったんで。
0214デフォルトの名無しさんNGNG
>>212
そうなんですか。この世界ってスキルが全てみたいなとこ
あるじゃないですか。打てなきゃ仕事にならないわけですし。
やっぱ色々大変なんですねー。それでは。
0215167NGNG
>>まとれす氏
レスありがとうございます。
こちらの環境は98 + VB6 SP5です。
XPだと問題ないのかなぁ。
0216仕様書無しさんNGNG
>>167
Win98SE+VB6+SP5で動かしてみたが、
確かにGDIリソース食いつぶすね。
まとれす氏の場合、XPは NT系列だから大丈夫なのかも。
# NTにはリソースの概念はないはず

で…
リークしてるのは、TransparentBltの方だな。
msimg32.dll 自体がリークしてんじゃないか?
これを使わずに、自力実装っつーのが一番安全かもしれん。
0217デフォルトの名無しさんNGNG
前スレでも聞いたんだけど、タスクマネージャのアプリケーションの所に
アイコンを表示させない方法知ってる人いる?ぜひ、おせーて下さい。
0218205NGNG
>>209
申し訳ありません。流石に一つもレスがつかないと、ちょっと心配になりまして(^^;

MLについては、早速申し込みしておきました。DataDynamicsについては……頑張って英語読んでみます(^^;

0219デフォルトの名無しさんNGNG
厨房質問ご容赦を

クライアントからの指定でVB+MDBの構成で依頼を受けています。
現場レベルではクライアント5台位で共有したいそうです。
この場合、ファイル共有型のDB共有となると思いますが、
行レベルロックってできますか?(むりそう)
それともコーディングで更新検出すればいいですか?

Vb4std以来触っていないので不安。
BCB+IBの提案しているんですが、花鳥さんが頑固で・・・
0220デフォルトの名無しさんNGNG
>>219

MDBのかわりにMSDEという選択肢も有るよ。
0221VC挑戦中NGNG
>>219
レコードロックはできないからMDBの共有は100%やめた方がいいよ。
何度も痛い目見た。
220が言うように、MSDEなら無料だし。
どうしてもやりたいなら、全テーブル(トランザクションと、マスタ系)にロック。
っていうフォールド持って、そこにフラグを立てる。
フラグが立っていないデータだけ更新可能。と。
でも、MDBは最適化&修復は必須です。
0222デフォルトの名無しさんNGNG
MS VBScript Regular Expression5 を使用した上で、

"<title id=38/>"
を、$titlearray[38]で置き換えるにはどうすればいいですか?
(38の部分がどんな数字がきてもいいように)
0223デフォルトの名無しさんNGNG
>>219
ACCESS2000のMDBと同じバージョンのMDBなら行単位で出来るのでは?
やった事無いので推測でスマン
0224デフォルトの名無しさんNGNG
既出ならスマソ

Dim i As Integer
i = 12 / 4 + 0.5
i = 16 / 4 + 0.5

この計算でiが両方4になるのは何故?
0225デフォルトの名無しさんNGNG
チャートコントロールの散布図で、X軸とY軸のスケールを独立に設定するには?
デフォルトだと、X軸の1とY軸の1が同じ長さで表示される。
サンプリング間隔が等間隔でないデータを表示するのに必要。さて?
0226デフォルトの名無しさんNGNG
>223
ただし、MDBのサイズの急激な肥大化を伴う諸刃の剣。素人には(略
0227デフォルトの名無しさんNGNG
>>224
VBの暗黙の丸めは、算術型丸めじゃなくて、銀行型丸め。
丸めた結果が必ず偶数になるように丸まる。
累積させると誤差が少なくなるそうな。四捨五入だと思ってハマってる人多し。
0228224NGNG
>>227
THX
やっと帰れるよ
0229デフォルトの名無しさんNGNG
>>222
RegExp.Pattern = "<title id=(\d+)/>"
RegExp.Replace (str, "$titlearray[$1]")
これでいいかな?
0230219NGNG
>>220
>>221
>>223
>>226
う〜、調べてみます。MSDE>ダウソロード中
こっちの方向でプッシュしようと思います。
サンクス
0231まとれすNGNG
>>217
環境は? Windows 9x だと、サービスとして登録、なんて技があるな

>>218
名前バレバレだぞ
0232デフォルトの名無しさんNGNG
NTでもリソースの概念はあるしリソースリークは起こるよ。
0233217NGNG
うーん、NT系と9x系両方。
C系なら普通に出来るはずなんだけど。
0234まとれすNGNG
>>233

なんだ?C系って。ウィンドウスタイルで何とかするテクニックもあったが、
それか?

なら、SetWindowLong() だな。
0235168NGNG
>>202-204
どうも。いやー、会社のをもってくるのは無理なようです。
参考書も自分で買えとの事です^^;。
そうですね、プログラミング未経験です。どの程度、プログラムを
組めればいいとは言われたんですが。漠然としすぎですかね。
とりあえず、ソフトと参考書の推薦をお願いしたいんですが。基礎部分
を学べれば後は自分で調べてみようと思ってます。
0236仕様書無しさん_216NGNG
>>232
うん、書いてから寝ぼけたレスだったのに気づいた。(w
タスクマネージャで見りゃ済む話だし。

開発環境、Win98SE にしか入れてないから、Win2Kで試せない。
で、とりあえずバージョンだけ調べてみた。
Win2k :: 5.0.2180.1
Win98SE :: 5.00.1693.1
これを見る限り、Windows2000以降でバグが取れてる可能性はある。


>>235
> 会社のをもってくるのは
ま、良く聞く話だが、そりゃ違法だ。(w
0237168NGNG
ken2ch まんこと打たせたぞ。
0238仕様書無しさんNGNG
>>168
>>169,173
これで十分答えが出ていると思われ
くだらない質問を繰り返すなや
0239まとれすNGNG
>>235
会社の仕事で勉強するのに、開発ツールの提供がなく参考書も自分で買え、ってか。
なんか変だな

それに、会社で何を使ってるかで、おのずと勉強するターゲットは決まるだろ?
(複数のツールを使ってるとしても、一番需要があるやつ、とかな)よって、単なるネタと決定。
0240デフォルトの名無しさんNGNG
>>235

フリーコンパイラのリンク

リンク集
Borland Delphi 6 Personal ダウンロード http://www.borland.co.jp/delphi/personal/
Borland Kylix Open Edition ダウンロード http://www.borland.co.jp/kylix/openedition/
JBuilder 6 Personal ダウンロード http://www.borland.co.jp/jbuilder/jb6/download/
Borland C++ Compiler 5.5 無償ダウンロードサービス http://www.borland.co.jp/cppbuilder/freecompiler/
0241デフォルトの名無しさんNGNG
VB6.0+windows2000です。
イーサネットアダプタの有効・無効を制御することは可能でしょうか?
もし可能なら使用する関数名とかを教えてください。
0242デフォルトの名無しさんNGNG
質問です。
VB5+NT4の環境でshellを使ってbatファイルを走らせるのですが、
終了のタイミングって取得することは可能ですか?

FindWindowを使えば出来そうなきがしたのですが、クラス名、ウィンドウ名が取れない?ため
悩んでいます
0243デフォルトの名無しさんNGNG
>>242
ShellExecuteExとWaitForSingleObject。

と、言うかバッチファイルの内用も組めば。
0244242NGNG
>>243
テスト期間が無い為、既存のプログラムを走らせるみたいです。
>ShellExecuteExとWaitForSingleObject
これってVBから使えましたっけ?・・・
0245デフォルトの名無しさんNGNG
>>244
APIとハンドルは扱えるでしょ。
0246242NGNG
>>245
MSDN検索して、ようやく理解できました。
有難うございます
0247まとれすNGNG
>>241
ざっとヘルプを見たが、簡単な方法はなさそうだ。ローカルネットワーク
接続でよければ、デスクトップから辿ってDoIt()かな

>>242
%COMSPEC% /C でバッチファイルを起動して、OpenProcess、WaitForSinleObject()
でいけるはず

>>243
わざわざShellExecuteEx()を使う必要は無いだろ。%COMSPEC%って決まってるんだし

>>244
使えるに決まってるだろ。まずは検索してサンプルを探せ
0248デフォルトの名無しさんNGNG
C:\Documents and Settings\Administrator\My Documents\b00458-文京区新マニュアル\BunkyoWeb-man\html


222です。

MS VBScript Regular Expression5 を使用した上で、

"<title id=38/>"
を、$titlearray[38]で置き換えるにはどうすればいいですか?
(38の部分がどんな数字がきてもいいように)
は、正確には、「titlearray(38)で置き換えたい」でした。(perlとごっちゃになってた)

で、
>>229さんの言う、
RegExp.Pattern = "<title id=(\d+)/>"
RegExp.Replace (str, "$titlearray[$1]")

でなく、
RegExp.Replace (str, "titlearray($1)")
とやったのですが、titlearray(38)という文字列になってしまいます。

ですが、RegExp.Replace (str, titlearray($1))とすると、
コードが赤くなりエラーなのですが、どうすればいいのでしょう?
0249248NGNG
1行目に変な文字列つけてしまいましたが、無視してください。失礼しました。
0250まとれすNGNG
>>248

やりたいことが

>は、正確には、「titlearray(38)で置き換えたい」でした。(perlとごっちゃになってた)

で、結果が

>とやったのですが、titlearray(38)という文字列になってしまいます。

できてんじゃん。

RegExp.Replace (str, "titlearray(38)")

こういうことか?
0251248NGNG
>>250さんありがとうございます。
すいません、説明不足でした。
titlearray(38)とは、38をキーとする配列titlearrayの要素に置換したいということです。
説明不足で恐縮です。
0252デフォルトの名無しさんNGNG
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.UserControl = True
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlBook = xlApp.Workbooks.Open(ImpFolderPath & "\tmp.xls")
Set xlSheet = xlBook.Sheets(1)

//中略

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

としているのですが、

●プログラムを起動するごとに、explorerのメモリがどんどん増大し、60000kとかになってしまいます。
●これだと、tmp.xls が起動しているとき、「2重で開きますか?」のエラーが出てしまいます。
これがでないようにする方法はありますか?
0253デフォルトの名無しさんNGNG
>>252
GetObject
0254デフォルトの名無しさんNGNG
ADOの入門書見ながらしかやったことないのですが、
AccessのDBに繋ぐならDAOだと言われました。
ぶっちゃけ、何が優れてて、なにが違うのですか?
0255デフォルトの名無しさんNGNG
>>242
BATファイルなら、WAITオプションを使う方が楽。
わざわざAPI使う必要はない。
0256デフォルトの名無しさんNGNG
|o∈
|   ・・・・・・・
|
|___

|
|ハヽo∈
|�D` ) コソーリ・・・・・・
⊂ノ
|___

|ハヽo∈
|´�D`)   0x100げっと!
| ノ
|___

|
|  サッ
|彡
|
|___
0257デフォルトの名無しさんNGNG
 バキッ
|  ∋oノハヽo∈
| ̄. (,, )�D`;)
| ̄ .⊂ ⊂ )
| ̄ (⌒__(⌒ノ
|___

    そんなことするののたんにはお仕置きだよ
   ∧_∧
  ( ・∀・)
  (    )           ゆるしてくらさい
  | | |       ∋oノハヽo∈     できごころだったのれす
  (_____)__)      ⊂(;´�D`;⊂⌒ヽつ
0258デフォルトの名無しさんNGNG
>>0x100-0x101
ワラタ
0259デフォルトの名無しさんNGNG
>>251
RegExpのExecuteとMatchとMatchCollectionとSubMatchesを調べよう。
titlearrayの所もきめ打ちじゃなくしたいなら、Collectionを使うとか
もう一工夫必要になるが。
0260デフォルトの名無しさんNGNG
>>252
あのコードは開いたtmp.xlsを閉じてないけどいいんだよね。
よくNothingを代入すれば必ず解放されると勘違いしている馬鹿がいるけど。
0261167NGNG
>>216
自力実装やってみたら安全に出来ました。
サンクス。
0262まとれすNGNG
>>251
環境が無くて試せんが、要するに$1の内容をとっておいて、
"titlearray(" & strDollar1 & ")" とすればいいんじゃないか?

>>252
CreateObjectと、New ほげほげ を組み合わせるのはやめておけ。暗黙
のオブジェクトができて困るはずだ。で、ちゃんとQuit してるのか?

>>254
ADOは汎用、DAOはAccess専用だ。専用の方が汎用よりできることが多いのは
当然だと思わんか?

>>255
そのとおりだな。しかし、Startコマンドの扱いは、9x系とNT系で違ったと思うぞ

>>260
そうだな。その勘違いは非常に多い。Nothingは、あくまで参照を解放するだけ、
と覚えておかないとな

>>261
おめでとう。よかったな
0263デフォルトの名無しさんNGNG
まとれすは何かいいキャラだなあ。
0264デフォルトの名無しさんNGNG
printで文字を斜め30度とか斜め35度とかに表示したいんですが、
プロパティでできるもんなんでしょうか?
ヘルプとか検索したんですが、方法が見つかりませんでした。
0265デフォルトの名無しさんNGNG
>>264
できない。自分でコード書くしかない。
0266デフォルトの名無しさんNGNG
>>264
APIになんかあったと思うぞ。
0267266NGNG
あった。CreateFontでフォント作成してSelectObjectで割り当てて描画だ。
0268デフォルトの名無しさんNGNG
>>266-267
APIはまだ使ったことがないので理解の範疇を超えておりますが
なんとか勉強して使ってみます。ありがとうございます。
0269まとれすNGNG
>>263
ありがとう。お世辞でもネタでも、そういってもらえるとうれしいぞ

>>264
>>267のいうとおりだ。ポイントは、lfEscapement に角度を指定するところだな
探せばサンプルがあると思うぞ

お、あったあった
http://www.bcap.co.jp/hanafusa/VBHLP/FontPreview.htm
0270デフォルトの名無しさんNGNG
ある文字列の中にある文字が何個あるかをカウントしたいんですが、
これってInStr使ってループさせて自力カウントするしかないですか。
それともそんな関数ってもともとありますか。
0271デフォルトの名無しさんNGNG
>>270
>それともそんな関数ってもともとありますか。
そういう関数はありません。InStr関数を使って・・・が正等な方法です。

ま、Split関数で分割して見て、分割された数-1という判断でも判断できますけどね。

0272デフォルトの名無しさんNGNG
>>270
ReplaceとLenを組み合わせるのが一番簡単だろうな。
速さならInstrかなあ。試してないけど。
0273ネットヤンキーNGNG
今現在VBの勉強をしておりVBでデータベース処理をしたいと思っているのですが,
データベース処理をするにしても図形(line,shape)等の勉強は必要ですか?
というのは私は少し図形が苦手なもので・・・・・。これでも通用しますか?
0274デフォルトの名無しさんNGNG
図形が苦手でも通用しますが、
VBは仕事ではもう通用しないんでわ。
0275マサマサNGNG
Internet上の特定の端末からWindouws2000 ServerにFTPでファイ
ルが送られてきた時、「ファイルが送られてきた」事を認識して
Win2000上のVBを自動的に起動させたいと考えています。

単刀直入で申し訳ないのですが、上記処理を可能にする方法を
どなたかご存知ないでしょうか?
宜しくお願い致します。
0276デフォルトの名無しさんNGNG
>>274
業務ベースの仕事ならまだVBが多いと思うぞ。
COBOLだってまだ現役の会社もあるんだし。
0277デフォルトの名無しさんNGNG
>273
VBはグラフィック関連の機能が非常に貧弱なので、実務において
その辺の高度な処理をする事はほとんど無いです。
データベース処理(=事務処理系)ならなおさら。

ただし、知らなくても良い訳では無いので、余裕あったら勉強しませう。
0278デフォルトの名無しさんNGNG
COBOLはコンパイラが出てるから現役だけど、
64ビット版は出ないことは決定。
32ビット版も提供が停止されることが決定。
期限付貨幣ってことで、最後につかまされた者があぼーん。
0279デフォルトの名無しさんNGNG
>277
なら、VBやってる限りは解決しない。
0280デフォルトの名無しさんNGNG
>>275
とりあえず、
FindFirstChangeNotification
WaitoForSingleObject
という2つのAPIについて調べてみそ。
スプーラを作る要領で作成可能だから。

#ひょっとして、オレの知っている人?
#もしそうなら、周りのこういう事を知っていそうな人間に聞いてみ。
#オレが知っている人なら、上記の説明じゃ分からないだろうから。
0281デフォルトの名無しさんNGNG
動画の再生時間を取得できる関数ってありまふか?
教えて欲しいのれす
0282デフォルトの名無しさんNGNG
API(SetTextJustification)を使って文字を均等割付しているのですが、
MS ゴシック、MSP ゴシックなどは大丈夫なのですが、
DF行書体,楷書体などは同じ処理でも均等割付されません
何がいけないのでしょうか?

あいうえお => あ い う え お
といった具合に、間に空白(ブレイク文字)を入れてから
SetTextJustificationを実行しています。

環境:Win2000Pro,VB6.0
0283ネットヤンキーNGNG
VBでデータベース処理をしようとするにはどのコントロールを重点に
勉強すればいいですか?
0284デフォルトの名無しさんNGNG
>>283
グリッド
0285デフォルトの名無しさんNGNG
>>283
標準のコントロールは貧弱すぎるぞ
0286デフォルトの名無しさんNGNG
個人的な意見だが、ヘタにコントロールに頼るよか
SQLの使い方を練習したほうがいいよ。

コントロールに依存しまくるとデバッグやバージョン
アップ時に地獄を見る可能性が高い。


まぁグリッドは便利だけどな。
0287まとれすNGNG
>>273
データベースに図形はいらんだろ

>>275
ReadDirectoryChangesW() ってのもあるぞ

>>276
まだ、というかかなり多いぞ

>>277
何が解決しないんだ?

>>281
動画、ってもな、何の動画だ?

>>283
コントロールではないが、ConnectionとRecordSetだな

>>286
禿げしく同意するぞ。SQLが書けないで、とんでもないコードを書くやつをよく見かける

0288デフォルトの名無しさんNGNG
>まとれす
学習能力ゼロ
0289まとれすNGNG
>>288
何がだ? 言ってみろ
0290デフォルトの名無しさんNGNG
>>まとれす
すみません、>>288は精神が弱っているんです。
先日、200レスに及ぶ煽りを受けて、精神がダメになってしまったんです。
2chって恐ろしいです。2chって恐ろしいんです。
0291デフォルトの名無しさんNGNG
自作自演だけはお得意のようでププ
0292まとれすNGNG
>>291
おまえは >>288 か? さっさと俺の質問に答えろ

一応言っとくが、>>290 は俺じゃないぞ

#スレの内容と関係ないから sage だ
0293デフォルトの名無しさんNGNG
>>291 なんでまとれすさんに突っかかる?
>>292 まぁまぁ、そう熱くならずに無視しようね。
0294りNGNG
「classという概念が理解できない人」に、まとれすさんはどんな説明をしますか?
↑ぼくなんですけど。
0295まとれすNGNG
>>293
了解だ。以降、無視することにする

>>294
難しい質問だな。質問者のレベルにもよるし。
とりあえず、Visual Basic でプログラムが組めるレベルなら、「クラスの一例 = フォーム」と
説明するだろう。

Caption などの属性(プロパティ)を持ち、Show などの関数(メソッド)を持つ。
まず重要なのは、カプセル化だ。

カプセル化がきちんとできていない状態ってのは、たとえば、

g_strForm1Caption = "あたらしいキャプションだ"

とか、

ShowForm(Form1, vbModal)

なんてグローバル変数、関数がある状態を想像すればいい。こんなのが、
50個も100個もあると大変だろ?

これをひとつのクラスという単位にまとめると、扱いやすくなる。さっきの例
で言うと、Form1.Show と、ShowForm の違いに注意しておけ。

要するに、手続きがあって対象があるのか、対象があって手続きがあるのか、
の違いだ。どうだ? イメージ湧いたか?

0296まとれすNGNG
#自己レス

なんか、うまくまとまらなかったな。正直、スマンカッタ
0297デフォルトの名無しさんNGNG
>>282
Win32APIスレで質問したほうがよいと思われ。
0298MS−06SP5NGNG
VB6製のActiveXコントロールを作ったとします
プロシージャをPublicで公開すれば
HTML上でスクリプトで参照できますが

★VB側の例(注;MSによると仕様として、↓Variant型でないとスクリプトからの参照渡しはエラーになるそう)
Public Function Test(ByRef a as Variant,ByRef b as Variant) as long
a=3:b=3
Test=1
End Function

★VBスクリプト側の例 (ActiveXのオブジェクト名(ID属性)を VBActXとしたとする
dim a1,b1,rv
a1=1 :b1=1
rv=VBActX.Test(a1,b1)

VBのほうで参照渡しにして 一度に VB6側で操作された複数の戻り値 a,bを得るのですが
どうも一切変化しません a1=1 b1=1のままである
VB6同士では 参照渡しは 変数の変化は もちろん その意味どうりにできます

この方法では ダメなので
VBスクリプト側で複数の戻り値を得たい場合は 他に何か手がありますか?  
配列はどうでしょうか? 関数の戻り値に配列はできますか?



0299デフォルトの名無しさんNGNG
>>298
VBSのことは知らないんだけど、その宣言の仕方だと
a1,b1がローカル変数になるんじゃない?
スクリプトレベルで宣言してる?

VB6の関数で配列を返すには、Function Test() As Long()
のように()を付ける。
0300デフォルトの名無しさんNGNG
>>294
>>113>>115では駄目か?
0301デフォルトの名無しさんNGNG
VBでファイルバージョンと製品バージョンが違うexeファイルを作りたいのですが
何か方法はありませんか?
0302デフォルトの名無しさんNGNG
VBを開くとすぐに
``vb5のページ違反です``
というふうに出るんですけど結局開けないんです
どうしてですか?
0303まとれすNGNG
>>301
やったことはないが、リソースをいじることでいけそうだ。最悪、実行ファイルの
リソースを書き換えろ

>>
日本語のパスに作ったプロジェクトを保存していると、そんな現象があったな
MSのサイトから、回避ツールが落とせるぞ
0304デフォルトの名無しさんNGNG
特定のウインドウの特定のコントロール上の値を取得する方法ってありますか。
例えば、計算機が起動されていたら、計算結果の部分を取得する方法などです。
0305ネットヤンキーNGNG
VBでデータベースの処理をしたいのですが,LEARNING エディションでは
無理ですか?
0306デフォルトの名無しさんNGNG
また被害者か・・・。>>305
0307301NGNG
>303
うーん。実行ファイルをいじるというのはやりたくないのでリソースをいじるというので
なんとかしたいのです。
リソースエディタでどうにかすればいいのかな?なんて気もするんですが
VBのリソースエディタを眺めても実際どうすればいいのかさっぱりで。。
0308まとれすNGNG
>>298
ActiveX DLL + VBS で試したが、きちんと3が帰ってきたぞ

>>304
ある。まずは、SPY++ でターゲットについて調べてみろ

>>305
DAOやADOのライブラリをコードで使うならいけるはずだ

>>307
VC++で作成したリソースをVBのプロジェクトに追加してみたりしたんだが、
うまく行かなかった。 → 実行ファイルが生成できない

API で書き換えができるはずなんで、そういうちょっとしたツールを作る、って
んじゃだめか?

0309デフォルトの名無しさんNGNG
CPUの種類とかクロック周波数を取得したいんですけどどうしたらいいですか?
0310デフォルトの名無しさんNGNG
>>309
アセンブラでCPUID命令
0311デフォルトの名無しさんNGNG
>>310
VBじゃない
0312まとれすNGNG
>>309
WMIのWin32_Processorクラスを使え

>>311
IntelのDLLを使う、ってのもあるぞ
0313309NGNG
>>312
>WMIのWin32_Processorクラスを使え
もう少し詳しく教えていただけませんか?
0314デフォルトの名無しさんNGNG
>>309
SysInfoで取得できないか?
0315309NGNG
>>314
そうなんですか?
0316まとれすNGNG
>>313
ほらよ
http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=Win32%5FProcessor+%83T%83%93%83v%83%8B

2番目に出てくるWSH-MLの記事では、CPUの名前がとれないとか言ってるけど、
とりあえず、システム情報と同レベルの情報はとれる。
0317デフォルトの名無しさんNGNG
超厨象的な質問でスマソですが、VBで3Dグリグリなプログラムできますか?
0318デフォルトの名無しさんNGNG
>>317
MS-Chart使うと、グラフを3Dグリグリ出来る。
ゲームとかのグリグリには、DirectX使うといい。

0319309NGNG
>>316
ありがとうございました。
0320デフォルトの名無しさんNGNG
>>317
ActiveXコントロールのchartコントロールは配布ライセンス制限がある
よく注意せよ
0321 NGNG
VBでメーラーを試しに作りたいんですが可能ですか?
可能なら、なにか参考になる書籍やサイトはないですか?
0322デフォルトの名無しさんNGNG
基本参照
MSDNヘルプ
MAPI (MAPISession、MAPIMessages) コントロールの使い方

プロトコルがわかるなら
Winsockコントロールも挑戦してみるべし
0323デフォルトの名無しさんNGNG
VB で作ったAPのボタンを押すー>
とあるウェブサイトのページをとってくるー>
それを解析して、グラフに変換して表示

という、ありがちなAPを作るのですが、
どうすればいいでしょうか。
条件として、「FireWall/Proxy越えができること」が必須です。
あと、その「とあるページ」っつーのが、
会員制でして、ID/PASSによる保護があるので、それも
乗り越えないとダメです。
(もちろん、IEで普通にそのページを見れるだけの権限があるユーザが使うのが前提)
0324デフォルトの名無しさんNGNG
で、そのへんのOCX販売会社が出している
HTTP関係のOCXを使おうかと思ったのですが、
たとえ、FireWall/Proxy/SOCKS とか
すべてのプロトコルに完全対応していても、
相性問題もありますし、第一、「設定方法がわかんねぇよ」攻撃が
ウザいんで、
VBからIEを内部的によんで、その結果を吸い上げるのが一番簡単かな、
と思うんですが、どうすればいいでしょうか。

なお、IEのインストール、IEに対する適切なFireWall設定、などは
前提としてもOKですが、
IEのウィンドウなどがポップアップしてしまうのはマズいです。
一応、「スタンドアロン」のソフト、ということになってますので・・・。


0325デフォルトの名無しさんNGNG
一気にウェブサービスだよ。
.net で SOAP しろ。
0326伸一NGNG
ちょっと質問してもいいですか?
VBA(EXCEL)でフォルダーの中のtxtファイル文字検索してリストボックスに
表示させているんですが、PhotoShopVer6をインストールしてから
txtファイル文字検索をした所コマンドボタンが凹んだままで、PCがフリーズ
そのまま、再起動してもスキャンディスクからWin2000が立ち上がらなくなってしまって、
セットアップディスクも製品版のWin2000もインストール出来なくなってしまい
困っています。

環境は CPU   1.5Gh
メモリ 640Mb
どなたかに助言頂けたら幸いです。
0327デフォルトの名無しさんNGNG
>>325
(お約束つっこみ)
ムリいわんどいてください。
0328デフォルトの名無しさんNGNG
>>323

普通に wininet つかえばいいんとちがうか?
0329まとれすNGNG
>>320
そうなのか? はじめてきいたぞ

>>321
BASP21 とか使うと楽だぞ

>>323
InetコントロールでDocumentを取得して、DOMで解析つーのが一般的なパターンだな

>>324
普通のベンダーなら、トライアル版を用意してるだろ? そういうのを試すのが
いいと思うぞ

>>325
それもいいと思うが、Webサービスを相手側が用意していないと意味無いな

>>326
初めて聞いたぞ。とりあえず、フォーマットかけて再インストールするしかないだろ
0330デフォルトの名無しさんNGNG
実行している環境がNT系かどうか完璧に判別するには
どうしたら良いですか?
0331まとれす ◆mato./AI NGNG
>>330
APIならGetVersionEx()で判別できるぞ
0332伸一NGNG
>329さんありがとう

インストラーでフォーマットまで行かないうちにBIOSがどうのこうのって
英悟で出て結局インストール出来ない状態なんです。
0333まとれす ◆mato./AI NGNG
>>332
それはHDDが飛んでるんじゃないか? 出てくる英語をメモして、Windows板で質問すれ
0334デフォルトの名無しさんNGNG
>インストラーでフォーマットまで行かないうちにBIOSがどうのこうのって

それが大事なんじゃないか。わからないならなぜそのメッセージを書き留めておいて
辞書で調べないの?


0335伸一NGNG
>333さん>334さんありがとうございます
HDDの中身はスレーブにして取り出せました
>出てくる英語をメモして、Windows板で質問
やってみます。ナニセ、VB勉強してるのに英語が苦手で・・・。
ありがとうございましたm(_._)m
0336ななしNGNG
>>270

検証していないので憶測ですが、VBのInstr関数を使うより、VBSのReplaceで、
置換された数を返させた方が高速だと思います。
(VBのReplace関数には置換箇所をカウントする機能はありません)

大きな文字列で、Instr関数を何度も呼び出すと、時間が掛かるはずです。
0337デフォルトの名無しさんNGNG
>>336
Visual Basic Scripting Editionのってこと?
双方とも同じ引数、同じ返り値のような気がしたが・・・
0338デフォルトの名無しさんNGNG
うっかりVBの初心者本買ってしまうと、最初の100ページくらい
「マウスとは何か」
等のどうでもいい内容で占められてるのでびりびりやぶって捨ててる。
0339デフォルトの名無しさんNGNG
>>338
正直、それはある。
あとゲームプログラミングと書いていて、
ゲームのことは最後の数ページしか書いていないというのもある。

そんな本を買ってから、一応本屋で中身を見てから買うようになったが
見てみたらタイトルが違うだけで中身はどれもほとんど同じ。
もっと他の本置くべきじゃないかと。
0340デフォルトの名無しさんNGNG
あるねー。
信じられないくらい初歩的な事しか説明してなくて、
本を最後まで熟読して身に付くテクニックは、
フォームにコントロールを配置することと、
それの表示順位、Captionプロパティでタイトルが変わる事。

そんくらいしか身に付かないって本が。
0341デフォルトの名無しさんNGNG
>338-340
具体的に本の名前プリーズ
おれ文句行ってやる(まじで)
0342デフォルトの名無しさんNGNG
インターネットプログラミングなんたらって2000円ぐらいの本はきつい。
90%ぐらいがMSDNのInetコントロールの文章そのまんまだったぞ。
0343bubuNGNG
えーと。
VBAでフォーム中のコントロールのオブジェクトってどやって作るのですか?
form_フォーム1.ctl1のオブジェクト作る場合

dim obj as object
set obj = form_フォーム1.ctl1
call dateset(obj)

ctl1はテキストボックスで値が入っていないとオブジェクト渡すみたい
だけど入っているとValueが渡される。よってdateset(関数)が呼び出せない
のです。関数の引数はOBJ型
だれか教えてください。
0344デフォルトの名無しさんNGNG
コレクションって何?
0345bubuNGNG
VBA初めてなのでヨク知らないのですがAccessObjectなんですか?
とりあえずAccessでやってるんです。
ヨク知らなくてゴメンナサイ。
0346ネットヤンキーNGNG
実際のところVBの需要ってあるのですか?
せっかく覚えて就職ありませんじゃちょっと・・・・・。
0347デフォルトの名無しさんNGNG
需要というか、出来て当然という空気はありますよ。

で、「VBだけ」だと厳しいです。
+データベースとか、+ネットワークとか。
複数の分野に手を出しておいたほうが無難だと思います。
0348デフォルトの名無しさんNGNG
>>346
需要はあるけど、VBしかできない人は厳しいと思う
0349マサマサNGNG
280のデフォルトの名無しさん、287のまとれすさん。
ご返答ありがとうございました!

検討してみます。
0350ななしNGNG
>>344
同種のオブジェクトの集合
0351すみません、教えてくださいNGNG
VB側で確保した2次元配列(String型固定長)を
VC++で作ったDLL内部で書き込むと、VBもろとも
アホ?ーンされてしまいます。
VBで確保したエリアがうまくDLLに渡っていないためだと
思うのですが、どーしても渡し方が判りません。

以下VB側
Dim n
Dim name() as string*1024
ReDim name(1024)
n = name_set(name)
VC側
long name_set(char name[][1024])

何が駄目なんでしょう?
0352デフォルトの名無しさんNGNG
ブラウザまがいのものを作ってみようと思い、
WebBrowserコントロールを初めて使ってみたのですが、
これって、表示されているページを印刷するボタンは作れないのでしょうか。
ご存じの方おられましたら、教えて下さい。
0353デフォルトの名無しさんNGNG
>>352
『Visual Basic6.0 300の技 ネットワーク+データベース編』2980円
  WebBrowserコントロールの技
   109 ウェブページを印刷する
0354デフォルトの名無しさんNGNG
インターネットトランスファのexecuteメソッドで、ASPを実行させた場合、
そのASPかの戻り値って貰える手段ってありまでしょうか?
0355デフォルトの名無しさんNGNG
ActiveX EXEを作ってIE(VBscript)から呼ぶって事をやってるのですが、
複数のIEを立ち上げて各々がActiveX EXEを動かそうとするんだけど、
動くのは1個だけ、2個目以降のンIEでActiveX EXEを動かそうとする
と最初のIEで動かしているActiveX EXEアクティブになる・・・
IE毎にActiveX EXEを動かすことは出来ないのでしょうか?
0356デフォルトの名無しさんNGNG
>>351
nameを可変長配列にすると内部的にはVariantになるから、name_set()には
Variant変数を指してるポインタが渡されてる、ということじゃないの
name_set(name(0))で配列の最初の要素を参照渡ししてやるといいかも
0357りNGNG
>>まとれすさん
遅レスになりましたが、>>294でclassの質問をしたものです。

class、むずかしいですね・・・。
ぼくのまわりの上級者は、「classは参考書にのってないから勉強しづらい」とか、「classは概念だから説明できない」
といってます。
>>295のところの説明はなんとなーくですが、わかったような気がしないでもないです。
あとクラスといえば「コレクション」もよく出てくるらしいんですが、これはどういったものですか?
0358デフォルトの名無しさんNGNG
VBからエクセルのワークシートにアクセスして、セルサイズを
調整してみました。
 無茶苦茶遅いのですが、早くする何かよい方法はないでしょうか?
どなたかおしえてください。

'---------------------------------------------------------------------------------
'sh1のセルサイズをsh2と同じにする
'---------------------------------------------------------------------------------
Sub CellSizeCYO(sh1 As excel.Worksheet, sh2 As excel.Worksheet, objR As Range)
Dim objT As Range
Dim st As String

' 領域をセットする。
For Each objT In objR
st = Mid(objT.Address(False, False), 1, 1)
st = st & ":" & st
sh1.Columns(st).ColumnWidth =sh2.Columns(st).ColumnWidth
Next
End Sub
0359デフォルトの名無しさんNGNG
何買えばVB覚えられるんだよ。まぢで。半年ぐらいで覚えたいよ。
0360デフォルトの名無しさんNGNG
>359
おれは仕事で2週間弱ぐらいで覚えたよ。
(数年前、体力があったときだけど1人月の仕事で)
やりたいことが特になかったり漠然としてたりすると、
覚えようとしても時間かかるんじゃないかなあ。
なんか目的があればいいとおもうけど。
仕事みたいに選択肢が最初から限られてるならともかく、
趣味だった場合、VBが手段として適切なのかどうか、
というのも考慮すべき問題だけど。
0361デフォルトの名無しさんNGNG
>>360
だから何買えばいいのよ。マイクソソフトが出してるの買えば
いいのか。本はどうすりゃいいんだよ。お勧めの教えれ。
0362360NGNG
>361
おれは技術評論社のA5サイズの3〜4cmぐらいの本を1冊
その当時使ってたけど、参考書はそれほど必要無いと思う。
ほとんど付属のヘルプのサンプルでまにあった。
作るものによるかもしれないけどね。
そのときの作りは、Cでめんどい処理のDLL書いて、
VBで画面/帳票だすスタイルだった。
CとVBの入出力が一番苦労した気がする。
0363デフォルトの名無しさんNGNG
>>362
ほー。ヘルプねぇ。未経験の漏れでもできるのかねぇ。
基礎概念だ何だってのが全然分からないんだよね。
とりあえずMicrosoft Visualbasic6 を買えば問題なしなの?
プログラミングの概要を示したのとか買っといたほうがよくねー。
0364デフォルトの名無しさんNGNG
>>363
そんなに散財したいのか?
必要だと思った時点で買えば良いだろ。
つーか買うよりまず図書館いけよ
0365デフォルトの名無しさんNGNG
図書館?Why?何もなしで始めるのも心なしか不安。
そっかー。とりあえず行ってくるよ。
0366デフォルトの名無しさんNGNG
思いったが吉日。朝一番で行ってくるよ。
それで何見ればいいのよ。地方の図書館は揃えが悪い〜♪
0367デフォルトの名無しさんNGNG
>>363
処理系買っとけば必要ないよ。
それより6ってまだ売ってるのかな。
つーか何作るの?
VBである必要あるの?
0368デフォルトの名無しさんNGNG
知り合いのPGがとりあえずこれから始めろってさ。
ネット自体は10年近くやってるんだけど、スキルは
さっぱりです。簡単なHTMLしかできませーん。
これをステップにどんどん上へ行こうと思ッてるんだけど甘いかなー。
0369デフォルトの名無しさんNGNG
>知り合いのPGがとりあえずこれから始めろってさ。
はぁ、何が目的なの?
その知り合いはVBプログラマってこと?
0370デフォルトの名無しさんNGNG
いまさらVBだなんて…
0371デフォルトの名無しさんNGNG
>>368
自分にとってためになる本を探すのもPGとして必要なスキルの
一つだよ。時間があるならとりあえず図書館いって片っ端から
本を開いてみそ。
0372デフォルトの名無しさんNGNG
VB6のヘルプにあるプログラムを実行すると必ずコンパイルエラーになって起動しません。
これって動くのですか?
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

次のプログラムでは、フォームが常に一番手前に表示されるようにします。
このプログラムを実行するには、MDI 子フォーム以外のフォームを作成し、
そのフォームに [メイン] という名前のメニューを作成します。
その下に [常に手前に表示] という名前のサブメニューを作成し、
その Name プロパティを mnuTopmost に設定します。
[プロジェクト] メニューの [標準モジュールの追加] をクリックして
新規の標準モジュールを作成します。
作成した標準モジュールに Declare ステートメントを貼り付け、
そのステートメントが途中で切れたり、改行されたりせずに、
1 行に収まっていることを確認します。
次に、フォーム モジュールのコード エディタ ウィンドウに
Sub プロシージャを貼り付け、F5 キーを押します。
' Windows API 関数の宣言。
' モジュールには必ずこのステートメントを記述する必要があります。
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
' WIN32API.TXT に定義されている定数をいくつか設定します。
Const conHwndTopmost = -1
Const conHwndNoTopmost = -2
Const conSwpNoActivate = &H10
Const conSwpShowWindow = &H40
Private Sub mnuTopmost_Click ()
' メニューのチェック マークのオン/オフを切り替えます。
mnuTopmost.Checked = Not mnuTopmost.Checked
If mnuTopmost.Checked Then
' TopMost 属性をオンにします。
SetWindowPos hWnd, conHwndTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
Else
' TopMost 属性をオフにします。
SetWindowPos hWnd, conHwndNoTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
End If
End Sub
0373デフォルトの名無しさんNGNG
EXEを作って、実行する時に、そのEXEファイルがあるフォルダの
PATHって取得できませんか。どこにインストールするか分からないと
PATH書かないといけないステートメントはどうして良いものやらさっぱり。。。
0374デフォルトの名無しさんNGNG
>373
App.Path
0375デフォルトの名無しさんNGNG
>>368
次の順番で勉強してください。
HTML->LOGO->Scheme->QBasic->HSP->VB->Turbo Pascal->Delphi->C->C++->VC++->Java->Java Script->Perl
0376デフォルトの名無しさんNGNG
今日初めてVBScriptに触ったです。
複雑...
で、質問なんですが、

Dim GetAAA
GetAAA=1000
Response.Write GetAAA

って構文をasp内の <% この中に %> 記述したんですが、
中身が表示されないです。素通り?してるような。
なんか勘違いしてたらご指摘おねがいします。
しかし...これからこれやるのかぁ...
0377まとれすNGNG
>>344
オブジェクトをまとめて扱うためのしくみ。配列みたいなものと思えばよし

>>346
今のところある。将来はわからん

>>351
Cのa[1]とVBのa(1)は要素数が違う。つーか、vb5dll.txt読め

>>355
ページとしてか? それ以外に方法はないぞ。Webサービスにでもしたらどうだ?

>>357
難しく考える必要は無いぞ。とりあえず、使う側だけで言えば、VBでプログラムを
する以上、クラスはすでに使ってるんだから。で、その次の作る側だな、問題は。
ふだん使っているコントロールとかオブジェクトとかがどういう仕組みになっているか、
考えてみるといいと思うぞ

>>358
一列づつやらないで、まとめてやったほうが効率がいいぞ。画面の描画をとめてるか?

>>360
そうだな。俺も実戦がいいと思うぞ

>>370
じゃあ、何ならいいんだ?

>>372
どこでどんなコンパイルエラーになるんだ? そこから考えてみろ

>>376
それで間違ってないはずなんだが・・・ エラーも何もでないのか?
ASPの全文を出してみ。もしかして、HTMLがわかってない、とかいう落ち
じゃないだろうな?
0378デフォルトの名無しさんNGNG
>>372
Privateで宣言しる。

Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
~~~~~~~
0379デフォルトの名無しさんNGNG
>>377
元々このプログラムを理解できるレベルにないのですが
どうしてもフォームを常に手前に表示したものを作りたいので
ヘルプのコードをコピペして意味もわからず使っちゃおうと思ったのです。
なのでエラーコードみても何が悪いのかまったくわからないんです。
>>378
ありがとうございます。
やってみます。ところでメニューのNameプロパティってメニューエディタの
名前、というテキストボックスのことなんでしょうか?
0380デフォルトの名無しさんNGNG
>>376
HTMLのソース(というのか?)にはかかれているが、
タグ等の間違いで表示されないに100カノッサ
0381デフォルトの名無しさんNGNG
仕事でVBからEXCELにアクセスするプログラムを作らなければいけないのですが、
参考になる本などご存じの方がいましたら教えていただけませんか?
0382デフォルトの名無しさんNGNG
ExcelVBAのヘルプ。
もしくは、Excelでマクロの記録を実行して生成されたソースを読む。

VBわかるならこの手法で十分だと思うが.
0383デフォルトの名無しさんNGNG
>>382
いえ、VBはやったことがないもので…
0384デフォルトの名無しさんNGNG
>>382
GetObjectというのをヘルプで出てこないかな。?
0385バナナマンNGNG
超カンタンな質問で申し訳ないのですが,コマンドボタンを使わずに
Private Sub Form_Load()
Form1.FillColor = QBColor(15)
Form1.FillStyle = 0
Form1.Line (100, 100)-(3100, 2000), , B
End Sub
としたら全く何も表示されず,
コマンドボタンを使って
Private Sub command1_click()
Form1.FillColor = QBColor(15)
Form1.FillStyle = 0
Form1.Line (100, 100)-(3100, 2000), , B
End Sub
としたら表示されます。これはどういう理由でloadイベントの時は表示されないのですか?
0386名無しさんですNGNG
良くも悪くも春だナ
0387デフォルトの名無しさんNGNG
超初心者な質問なのですが。
form1,form2など、複数のFormに渡って同じ変数を使いたいのですが、
dimではだめですよね?!

どうやって変数を宣言するのでしょうか?
どなたか、サクッとよろしくおながいします。
0388デフォルトの名無しさんNGNG
>バナナマン
form1のAutoRedrawプロパティをTrueにしてみ。
0389デフォルトの名無しさんNGNG
>>387
フォームじゃなく標準モジュールに書け。
0390デフォルトの名無しさんNGNG
>387
Publicステートメントを調べて。
具体的には標準モジュールをプロジェクトに追加してそこで
Public hoge As Long
とかする。
0391387NGNG
>>389-390さん。
ありがとうございます。なるほど。
さっそく試してみます。

ありがとうございました。
0392ななしNGNG
>>389-390
ヘタにアドバイスすると、要らん愚弄バル変数を乱用するバカが大量発生する
恐れがあるので、放置してください。ご協力よろしく。
0393376NGNG
Response.Writeが表示されない質問したものです。
いつのまにか出るようになってました。
なにせ始めたばかりでなんで直ったかわからず。
レスサンクス!
0394デフォルトの名無しさんNGNG
>>385
>>388の方法でもいいし、
Me.Showを最初に追加するのもいい。
だがその後の処理は違うものになる。
なぜ違うかは自分で勉強すれ。
0395デフォルトの名無しさんNGNG
>ななし
>ヘタにアドバイスすると、要らん愚弄バル変数を乱用するバカが大量発生する
あり得ますね。以後注意します。
0396デフォルトの名無しさんNGNG
「○○だからグローバル変数乱発は危険」と一言添えるくらいが良いかと。
初心者スレだしな。

>要らん愚弄バル変数を乱用するバカ
を絞め殺したい気持ちには同意するよ(w

0397デフォルトの名無しさんNGNG
>>396
グローバル変数を乱用すると危険なの?なぜ?
0398ななしNGNG

>>397

・プログラムの見通しが悪化し、保守性が下がる。

・関数やサブルーチンの独立性がなくなる。
 (どこからでも値を書き換えられる ≒ どこからでもバグを入れられる
 ということで、信頼性、品質に影響しかねない)

説明が不適切、または舌足らずな箇所があれば、ツッコんでください。

0399 NGNG
Dim sBuff as String * 260
Call GetPrivateProfileString("Dir", "Path", "", sBuff, 260, App.Path & "\DirList.ini" )
IniPath = App.Path & "\" & sBuff & "\Cfg.ini"

このコードにおかしいところはありますか?
EXEファイルと同じディレクトリにある設定ファイルに書かれている相対パスからもう一度
設定ファイルを読もうとしているのですが、上のIniPathの中身がおかしいです。
後ろの"\Cfg.ini"というのが入っていません。
当然、他にIniPathをいじっている部分はありません。
sBuffも正常に入っていました。
0400デフォルトの名無しさんNGNG
4 名前:名無しさん@お腹いっぱい。 投稿日:2001/04/24(火) 13:25
>2
私は在日韓国人ですが、日本生命側が怒る気持ちも理解できます。
私も西村氏の掲示板運営に抗議するため、敢えてここで西村氏を誹謗中傷し、
「文句があれば訴状を送って来い」
と、連絡先をメールで伝えましたが、訴状は届きませんで、代わりに
イタズラ電話が毎日かかってくるようになりました。
本当に陰湿で卑劣な男です。

21 名前:名無しさん@お腹いっぱい。 投稿日:2001/04/27(金) 22:01
ひろゆきの彼女へ

今回の件、知ってるだろ?
悪い事はいわない。
ひろゆきとは別れたほうがいいぞ。
こんなイタ電しかできない男と一緒にいてどうする。
イタ電でパクられるなんてのは、大抵は女だぞ。
ひろゆきの脳は女性ホルモンが支配している。
女と女がくっついてたってしょうがないだろ?

24 名前:名無しさん@お腹いっぱい。 投稿日:2001/04/27(金) 22:26
いたずら電話とはひろゆきらしいな
ひろゆきの陰険さはメルマガ読んでればわかるし、驚きもしないが
それよりも自分への中傷だけには異常に反応するところが愉快だな
0401質問NGNG
こんにちは
タスクバーに登録されている他の任意のウィンドウを
アクティブにする方法はありますか?

知っている方、居ましたらレス下さい。
宜しくお願いします。
0402デフォルトの名無しさんNGNG
wininetを使ってhttpのデータを読みたいのですが、

  Do
    DoEvents
    LpszBuffer = ""
    rVal = InternetReadFile(hSource, LpszBuffer, 65525, numOfRead)
    strData = strData + LpszBuffer
  Loop Until rVal = 0 Or numOfRead = 0

  (strData、LpszBuffer:文字列型、numOfRead:Long型)

のようなコードだと所々で空白や改行が入ったり、文字化けしたりして
話になりません。バイト配列で受けて文字列に変換しようとも考えたの
ですが、

  strData = strData + StrConv(bytRecvData, vbUnicode)

のようにしても全くデータが集まらないです。。。
一応調べたのですが、良い方法がわかりませんでした。
ご教授お願いします。
0403デフォルトの名無しさんNGNG
>・関数やサブルーチンの独立性がなくなる。
> (どこからでも値を書き換えられる ≒ どこからでもバグを入れられる
> ということで、信頼性、品質に影響しかねない)

具体例を挙げよう。

Private Function func() As String
If flag = 1 then
func = "おまえもな"
ElseIf flag = 2 then
func = "いってよし"
Else
func = "ぐろーばる変数、イイ"
End If
End Function

なんていう関数をみるとflagってなに?ということになるわけだ。
この関数から見えている範囲でflagという変数がないとこの関数はちゃんと動かない。
それにこんなに短い関数なのにflagという変数はどこでどういう値を入れられているのか
ソース中を探し回ることになる。
この場合func(flag As Long)とするだけで関数の独立性を保つことができる。

実際自分がさわっているソースはグローバル変数の洪水状態でたぶんこの変数にはこの値が
入っているはずだけどグローバルになっているせいでどこで書き換えられているかわからないから
仕方なくローカル変数を導入する、ということが日常茶飯事。
ああへぼ会社だ。

他人の書いたソースをさわったりしだすと、グローバル変数の憎さがわかってくる。
(他人 = 未来の自分)
0404ななしNGNG
>>403

ツッコミ感謝です。

> ソース中を探し回ることになる。

要するに、デバッグの対象範囲、PG仕様変更の際の影響範囲が無意味に広くなる、
ということで・・・。

で、更に自己ツッコミなんですが、OO的な言い方をするなら、「カプセル化の原則に反する」
という表現もできますね。
0405デフォルトの名無しさんNGNG
>>396
標準モジュールを知っただけでも立派(/_T)
0406デフォルトの名無しさんNGNG
>なんていう関数をみるとflagってなに?ということになるわけだ。
>この関数から見えている範囲でflagという変数がないとこの関数はちゃんと動かない。
>それにこんなに短い関数なのにflagという変数はどこでどういう値を入れられているのか
>ソース中を探し回ることになる。

あとは例えばflag = 3の時に"あぼーん"が返ってくるようにしたいとか思ったときflagが
ローカル変数なら何でもないけどグローバルだと
flag = 3
と値を書き換えるのに不安があったりするわけ。直接flagで処理が分かれていなくても
flagの値によってflag_2の値がかわりそれによって処理が分かれるというようなことは
十分にあり得るので現在稼働中のシステムのグローバル変数はうっかり書き換えられない。
しょうがないから一時変数にflagの値をとっておいたりしてますますソースには変数が増えていく。

愚弄ばるスパイラル現象。
0407まとれすNGNG
>>378
標準モジュールだから、Publicでもいいと思うぞ

>>379
だから、どんなエラーが出ているのか示せば、それを見て原因がわかることも
あるんだって。

>>399
APIで文字列を取得すると、文字列の後にゴミがついてくる。vbNullCharをInstr
で検索して、それ以降を削除してみろ

>>401
SetForegroundWindow()なんだが、Windows 98以降はちょっと使いづらくなってるぞ
0408397NGNG
>>398 >>403 >>404 >>407さん
ありがとうございます。
なるほど、よくわかりました。

プログラムが複雑になればなるほどやっかいですね。
ありがとうございました。
0409デフォルトの名無しさんNGNG
402は具体的過ぎでしたか。。。
0410まとれすNGNG
>>408
俺はあんたにはレスしてないぞ

>>409
http://www.geocities.co.jp/SilkRoad/4511/vb/wininet.htm

とかが参考になるんじゃないか? API もののときは、宣言がなきゃ全然わからんぞ
0411デフォルトの名無しさんNGNG
>>402
>のようなコードだと所々で空白や改行が入ったり、文字化けしたりして
2バイトコードの中間でデータが途切れて、
Unicodeに暗黙の変換されるときに文字化けしてるんじゃない?

>  strData = strData + StrConv(bytRecvData, vbUnicode)
>のようにしても全くデータが集まらないです。。。
これは盆ミスの匂いが・・
StrConvは最後に一発でやらんと、やっぱり文字化けするような気がする・・

どこまで確認したのかはわからんけど、文字列に追加しないで
バイナリのままファイルに落として確認してみたら?
0412デフォルトの名無しさんNGNG
レスどうもです。402です。

>>410 そこを参考にしたんですが、そのままじゃ動かなかったので
     ちょっと改良したんです。

>>411 2バイトコード間で切れてるところも確かにありますが、そのほかに
     変な空白や重複が出現しているのです。
     確認のためバイナリのままファイルに落としもしましたが、
     配列の値が全部"0"らしくてダメでした。
0413デフォルトの名無しさんNGNG
>>355
SingleUse にしてもそうなるの?
0414401NGNG
>>407 まとれすさん
有難うございます。
さっそく調べてみますね
0415397NGNG
>>410
おっと間違い
×>>407
○>>406
0416体裁グラミング撲滅NGNG
グローバル変数使ったってなーんにも悪くない
わざわざ、関数になんかせんでええよ
書いた本人がわかればいい(・∀・)イイ!
他人に読ませるためにソース公開したけりゃそりゃそれで体裁つくればいいで
いかも、グローバル変数禁止みたいなこと書くな
ジャナー
0417デフォルトの名無しさんNGNG
>>416
どう見ても趣味のプログラムの話だな。
0418デフォルトの名無しさんNGNG
すみません、ちょっとお尋ねします。
VBScriptでDB内のデータを表示する際に、そのデータがtextで、
かつタグが含まれちゃってる場合、このタグを無効にする方法ってないでしょうか?
0419418NGNG
Server.HTMLEncodeで自己解決
m(__)m
0420デフォルトの名無しさんNGNG
>>416
VB初めて1ヶ月ぐらいはそう思ってたよ。
0421デフォルトの名無しさんNGNG
反面教師として書き込んでくれた方に感謝。
0422デフォルトの名無しさんNGNG
フォルダツリーを出してフォルダを選択し、テキストボックスに表示して、OKボタンで選択完了。
みたいなダイアログボックスを作りたいと思うんですが、
これって絶対コンポーネントに含まれていると思うんです。

でもコンポーネントのリストをみてもどれだかわからんのです。

このダイアログの一般名称がわからんので検索もできんし・・・
コモンダイアログが惜しかったんですが、ファイル選択だし・・・
0423デフォルトの名無しさんNGNG

「f:\aaa\bbb\ccc」とかテケトーなPathをFDDかHDDかCDDか
判別するにはどうしたら良いでしょうか。
0424デフォルトの名無しさんNGNG
>>422
標準のコントロールではないと思うよ。
大抵はSHBrowseForFolder()APIあたりでやると思う。

>>423
Pathっていうか、頭のドライブレター(?:)をGetDriveType()APIに渡せば
ドライブタイプを得られるよ。
0425デフォルトの名無しさんNGNG
VBで作成したアプリケーションは、Windows2000およびNTで動かないって事はあるのでしょうか?
0426まとれす ◆mato./AI NGNG
>>422
Shell.BrowseForFolder()って手もあるぞ

>>423
ネットワークドライブは判定できないので、ファイルシステムで、って手もあるな

>>425
基本的にはない。作り方によって問題が出るとか、バージョンによっては動かないとか、
インストール時に問題が出る、とかはあるがな
0427422NGNG
>>424
そうですか。やっぱり自作するしかないですね。

>>425
理屈はわからんですがが、私のNT4.0 Workstation SP6では
VB6で作ったプログラムが普通に動いてます。

IEあたりにランタイムがくっついてきたのかな?
0428422NGNG
>>426
その"Shell"てCOMですかね。試してみます。
0429デフォルトの名無しさんNGNG
VBで作ったAPLを起動するのに
Windwos2000でアドミニストレータで立ち上げないと、動かないって事ありますか?
0430まとれす ◆mato./AI NGNG
>>426
そうだ。Shdocvw.dll だな。バージョンの違いに気をつけろ

>>429
やっている処理によってはある。フォームだけのプログラムなら、問題なく動く
0431デフォルトの名無しさんNGNG
>>430
おしえてください。
標準モジュールを使ってたらマズイですか?

たびたびスミマセン。。。。
0432422NGNG
>>430 できまいた。ありがとうございました。
VBScriptですが、

Dim Shell, objFolder
Set Shell = CreateObject("Shell.Application")
Set objFolder = Shell.BrowseForFolder(0, "Select Folder", 0, "c:\")
'IF IsEmpty(objFolder) Then
' WScript.Echo("Select Folder")
' WScript.Quit()
'End IF
WScript.Echo objFolder.Items().Item().Path

#キャンセルを押したときのエラー処理がうまくいかない・・・
0433デフォルトの名無しさんNGNG
横レスすみません。
APIってどうやって勉強したら良いのですか?
みなさんはどうしてそんなたくさんの種類をご存知なんでしょうか。
パッとみたら調べられるサイトとか本とかあるのでしょうか。
0434422NGNG
>>433 横レスに横レスですが。

MSDNが答えかと。あとは、APIビューアでちょちょっと。

ちなみに私のばいぶるは、「Windows95 APIバイブル1」。
0435デフォルトの名無しさんNGNG
強制的にIEのセキュリティレベルを
下げるもの教えてくださいませんか?
0436デフォルトの名無しさんNGNG
>>435
ウィルスでも仕込んだら?
0437デフォルトの名無しさんNGNG
>>436
ウィルスですか…。
ウィルス知識ないのでいったいどれが…
0438デフォルトの名無しさんNGNG
>>435
そんなことが出来る物を作ったら、犯罪に荷担した事になりますよ。
0439デフォルトの名無しさんNGNG
>>438
そこまでいきますか…。
0440atoNGNG
VBで配列のなかに配列を格納することってできますか?
Javaみたいにできればいいのですが・・・。
0441まとれす ◆mato./AI NGNG
>>430
内容次第だ

>>432
どううまくいかないんだ?

>>433
C+SDKで組むのが一番勉強になる。MSDNライブラリもだいぶ日本語化
されたので、一通り読んでみるといいぞ。で、vb5dll.txtも忘れずにな

>>434
さんざん言われてるが、APIビューアは間違いが多い。ヘッダから書き下ろす
のを勧めるぞ

>>440
こういうことか?

Dim v As Variant
v = Array(Array(1, 2, 3), Array(4, 5, 6), Array(7, 8, 9))
0442りNGNG
オセロゲームをするソフトはC言語でつくったりしますよね。
プログラミングをするソフト(たとえばVB)なんかは何で作られているのですか?
0443デフォルトの名無しさんNGNG
WordなどのマクロでのVBAでスクリプト、ゲーム等は作れるんですか?
0444デフォルトの名無しさんNGNG
<Text1.Top>みたいなのを変数に格納したいのですが、
その際、dim xxx as ???
             ↑なんて指定したら良いのですか。
0445デフォルトの名無しさんNGNG
>443
Excelでオセロとか作ってるのは見たことあるよ。
やってできない事はない。

>444
そのプロパティの型と同じ型。
MSDNに
>Left プロパティおよび Top プロパティの値として、単精度浮動小数点数を設定することができます。
ってあるぞ。
0446422NGNG
>>441
> どううまくいかないんだ?

432の8行目で、「オブジェクトがありません」(800A01A8)といわれます。
コメントになってるところが、エラー処理をしようとした残骸です。
Shell・・・の返り値の処理が間違ってるみたいです。

> >>434
> さんざん言われてるが、APIビューアは間違いが多い。ヘッダから書き下ろす
> のを勧めるぞ

そうなんですか。 ???.txtの修正版とかないんですかね?
0447422NGNG
ちょっと別の話。

MSDNみてて疑問におもったんですが、VBScriptって
もしかして2つ以上の戻り値を受け取れないんですか?

VCでCOMつくってVBScriptから使おうと思ったんですが、つまるところ
 Set Hoge = CreateObject("Hoge.Hoge")
 Status = Hoge.Func(InVal, OutVal, OutVal2)
 IF OutVal = "aaa" And OutVal2 = "bbb" Then
みたいな設計はできないってことでしょうか?
0448デフォルトの名無しさんNGNG
>442
C

>443
速度をあまり必要としないゲームなら可能。

>444
そのプロパティ自体はSingleだが、小数点以下は
特殊な座標系用だから、Longで宣言する人が多い。
0449デフォルトの名無しさんNGNG
ある数値を奇数、偶数と判断するようなことはできませんか?
0450443NGNG
>>445,>>448
なるほど。一応可能なんですね。いや僕VB買おうかどうか迷っててそれで
聞いてみたんですよ。どうしよかなぁ・・。とりあえず、ありがとうござ
いました!
0451まとれすNGNG
>>442
バイナリイメージを見てみればある程度想像はつくが、おそらくVC++だろうな

>>443
作れないことは無いぞ

>>444
Topプロパティの変数型を調べてみろ

>>446
だな

If objFolder Is Nothing Then

で判断してみろ

どっかに置いてあったな。AlllAPIか?

>>499
Mod演算子について調べてみろ
0452デフォルトの名無しさんNGNG
>>449
If (i mod 2)=0 Then
Debug.Print "偶数"
Else
Debug.Print "奇数"
End If
0453422NGNG
>>451
> If objFolder Is Nothing Then
> で判断してみろ

できました。NullはNothingなのですね。どうも。

> どっかに置いてあったな。AlllAPIか?

検索してみます。
0454高飛車NGNG
>>449みたいなのは ホント初心者だなw
VB以前の問題だぞw
でも みんな最初はそんなもんか?w
まっいいか
じゃあ 厨たちにお題だ
3次方程式の解の数を判定するコードを書いてごらん
純粋に数学的論理アルゴリズムだw
まず数学でこれができんと お話にならんがなw
0455デフォルトの名無しさんNGNG
>449
たとえばあなたは26632という数を見て偶数か奇数かどうやって判断していますか?
それと同じことをコンピュータにさせればいいのです。
これがわからないなら悪いことは言いませんからプログラムをマスターしようなんて
思わないでパッケージソフトだけ使っていてください。
0456デフォルトの名無しさんNGNG
>>451
そうしたら、VC++はなにで作られてるのですか?
0457デフォルトの名無しさんNGNG
>>449
一番下のビット見れ。
0458デフォルトの名無しさんNGNG
>457>おまえも いじわるだな
ビットの判定できる法がわかってたら
…以下は省略されました
0459まとれすNGNG
>>451
ワンポイントに出てくるけど、VCはVCで作られてるぞ
0460とうりすがりNGNG
>>454
ついでに話にのろう
厨たちにヒントだ
3次方程式は
必ず実数解を一つ以上もつ
それだけw
0461422NGNG
>>459
うろ覚えですが、
 「自分で自分自身を構築できたら、そのプログラミング言語が成熟したといえる」
というような話をどっかで聞いたことがあります。
0462デフォルトの名無しさんNGNG
>>459
WindowsはVCだけで作られているの?
0463デフォルトの名無しさんNGNG
VB5のラーニングエディションで作ったプログラム(EXEファイル)
を95以降のウィンドウズで正常に使えるようにするには
どうすればいいのでしょうか?
私はWin98を使っているのですが、やはり
セットアップウィザードを使って、きちんとセットアップする
ファイルを作成した方がいいのでしょうか。
用語が間違ってたらすみません。
0464デフォルトの名無しさんNGNG
>>462
Cとアセンブラって感じ。Cだけではどーにもならん部分もある。
コンパイラはVC使ってるんでしょうな。どのバージョンだが知らんが。
0465デフォルトの名無しさんNGNG
>>463
おい VB5をどこで手にいれたか知らんが
正式な入手なら MSDNヘルプあんだろ MSDNサイトもある
初心者以前が多いぞ ここんとこ
0466デフォルトの名無しさんNGNG
>>451バイナリイメージを見てみればある程度想像はつくが、おそらくVC++だろうな

Spy++でウィンドウクラス名見たほうが分かりやすいのでは?
0467デフォルトの名無しさんNGNG
なんかさっきから初心者質問を煽ってるのって同一人物か?
0468まとれすNGNG
>>461
そんな話は聞いたことがないが、必ずしも「自分で自分自身を構築」するわけ
じゃないと思うぞ。古いバージョンで作ればいい訳だしな

>>462
「Windows」の定義が難しいところだが、広〜くみると、VBで作られている部分
が無いわけじゃない。たとえば、OptionPackのツールとかな

>>463
DLL Hellが起こるかどうかは、調べてみないとわからんな

>>466
そうだな。そういう調べ方もある。VBで作ったアプリなんか、一発だな
0469デフォルトの名無しさんNGNG
>DLL Hellが起こるかどうかは、調べてみないとわからんな

そうそうこればっかりはやってみないとわからない。VBで作成したプログラムをいろんなマシンに
インストールするとどうしてもうまく動作しないマシンがでてくるというのはよくある話。
ランタイムやDLLの不整合が起こっているせい。セットアップウィザードを使ったからといって
DLL Hellがなくなるわけではない。インストールした後はよくてもOSやソフトのバージョンアップを
したり、新たにインストールしたりするとはまることがある。(特にM$製品)
VBが嫌われるもっとも大きな原因。

Win95は過渡期のものであるからしてDLLHellの起こる可能性は高いといえる。
IE4の有無、Officeの有無で状況が変わってくるので注意。
0470デフォルトの名無しさんNGNG
>Win95は過渡期のものであるからして
それとClassic Win95かOSR2以降であるかというのもあったな。
そんなことしないだろうけどVBでwin95以降を対象に一般向けアプリを
作ろうとしたら最低でも
Classic win95 ,OSR2
IE4の有無、
Office97の有無
の環境でテストしないといけない。まあ書き込みからして個別案件といったものだろうけど。

もしDLLHellにはまった場合VB以外を使う、あるいはOS(マシンごと)をバージョンアップする
方が早かったり幸せになれるかもしれないことを頭の隅っこにでもおいておこう。
0471まとれすNGNG
>>469-470
そういうことだな

俺の場合、Windows 98を配布対象に、と言われたら、SE以降に限定する。
NT系なら、Windows 2000以降だな。これらの環境では、Side-By-Sideが使えるからな
0472443NGNG
すいません、もうひとつ質問させてください。皆さんの回答を総合すると一応
出来るという事はわかったんですが、>>448さんの「速度をあまり必要としない
ゲームなら可能」や、まとれすさんの「作れない事は無い」という事からVBとVBA
ではどう違うんですか?
0473デフォルトの名無しさんNGNG
>>472
そーゆー意味ならネイティブコンパイルが出来るか出来ないかが一番大きいかな。

#ちなみにどっかのスレでExcelでオセロ作ってたの俺だけど。
#さすがにアクションゲームとかはVBAではつらいなあ。
0474デフォルトの名無しさんNGNG
String変数内の文字列のサイズを取得したいんですが、
LenB(StrConv(mMojiretsu, vbFromUnicode))
とやるしかないでしょうか?(mMojiretsuがString変数です)
これで確かに実現できるんですが、mMojiretsuの中が大きいと処理速度がとっても遅いです。
もっと早く処理できる方法はないでしょうか。
0475ななしNGNG

>>446
むしろ、Dependency Walker の方がよいと思いますけど?

以下、事故レスです。
>>270 さん に対する>>336は間違えですね。m(_ _)m

条件に合う単語数をカウントするだけなら置換する必要はないです。
手元にドキュメントがないので、ウロ憶えですが、Machオブジェクト(オブジェクト
というよりコレクション)を使えば、Instr関数をループで回すより速いです。
そして、VB標準の機能では、Machオブジェクトが使えないので、VBSを使う、という
話です。(Cの方が速い云々の話は置いといて)

説明不足、誤りは指摘してください。
0476デフォルトの名無しさんNGNG
フォームから他のフォームを操作したいんですがどうやったらいいですか?
たとえばFORM1のコマンドボタンを押すとFORM2のチェックボックスにチェックをつけられるような感じです。
0477デフォルトの名無しさんNGNG
>>474
lstrlenでも使ってみたら?
0478ななしNGNG
>>476
必要に応じて、操作対象クラスの Method | Property を公開(Public)
してください。

これだけの説明じゃ不親切?
0479ななしNGNG
>>478

具体的には、

Call frmHoge.Method

または、

frmHoge.Property = Value

といった要領。

対象となる、Method | プロパチはPublicでないと、×。
0480476NGNG
>>478
初心者なのでわからないです…。
>FORM1のコマンドボタンを押すとFORM2のチェックボックスにチェックをつけられるような感じです。
たとえばこういうプログラムを作るにはどんなプログラムを書けばいいのですか?
0481476NGNG
>>479
やってみます。ありがとうございました。
0482デフォルトの名無しさんNGNG
>>480
Private Sub Command1_Click()
Form2.Check1.Value = 1
End Sub
0483476NGNG
>>482
感謝です。ありがとうございました。
使用例を見るとわかりやすいです。
0484デフォルトの名無しさんNGNG
ActiveX.dllで作成したプログラムでDBを操作した途中経過を呼び出し元のプログラムに通知するのにいい方法ありませんか?

たとえば
ActiveX.dllで作ったプログラムで10件の連続してデータをDBに追加する場合
一件追加が終了したらフォームのプログレスバーを更新したいのです.
0485477NGNG
むっ。lstrlenだと型変換が高くつくね。
0486まとれす ◆mato./AI NGNG
>>472
VBAは、ホストアプリケーションがないと実行できない。つまり、Excel VBAで
アプリケーションを作ると、Excelのない環境では動かないわけだ

>>474
APIを使う、ってのがあるな。lstrlen()とか

>>476
Form1.Command1.Value = True だな

>>484
コールバックについて調べてみろ

>>477
そうか? 高くついても、一回だけだろ。ANSIサイズが取れるし
0487りNGNG
VBがCで作られたというのはわかりましたが、CがCで作られたというのはわかりません。
さあ作るぞ、といって開発環境を立ち上げようとしたときにはまだその開発環境自体がないわけでしょ?
どうやって作るのですか?
0488デフォルトの名無しさんNGNG
>>484
WithEvents調べてみなはれ。
0489デフォルトの名無しさんNGNG
>>474
どれぐらいのサイズ&処理時間?
質問はできるだけ具体的に。
まあ、APIを使うしかないかな。

>>475
VB6に限定すれば、InStrでvbCrLfをカウントするほうがReplaceより速かった。

対象ファイル 1MB (30,000行)
      IDE     EXE
InStr   0.07秒   0.04秒
Replace  0.78秒   1.00秒
0490488NGNG
あとEventとRaiseEventも。
この辺使えるとVBのソレっぽくなりますよ。
0491デフォルトの名無しさんNGNG
>>487
VBのような統合開発環境しかイメージにないんだろうな。

最初はまず基本的なことだけ機械語に翻訳できればいい。
ファイルをOPENして、文字列を翻訳し、ファイルに書き込む。
これで自分自身をコンパイルすれば、原始的コンパイラが出来上がる。
あとは、どんどん関数を追加していくだけ。
0492 443&472NGNG
>>473サン、まとれすサン回答ありがとうございます。いろいろと障害があるんですねぇ・
・・・・。うーむ、迷う・・。
0493デフォルトの名無しさんNGNG
>これで自分自身をコンパイルすれば、原始的コンパイラが出来上がる。

ちなみにPascalコンパイラの場合次のようにしたそうです。某MLより引用

まず、Pascalコンパイラのプログラムを手で紙の上に書く。
人間がPascalインタプリタの気持ちになって(!)、Pascalコンパイラのソースをコンパイルする。
世界初のPascalコンパイラのコンパイルには、2ヶ月かかった....

C++の場合
まずC++インタプリタをCで書く。
できたC++インタプリタでC++コンパイラを書く。
できたC++コンパイラに'自分自身'を食わせる。
0494デフォルトの名無しさんNGNG
>>474
ボルトネックが本当に文字列カウントの部分
か・・・・ということも考えなくては。
0495デフォルトの名無しさんNGNG
静的変数って、グローバルで宣言するのと、なにが違うのですか?
あと、これをいらなくなったからって、解放できないのでしょうか。
0496デフォルトの名無しさんNGNG
>493
PascalはBASIC並みに高級(=機械語から遠い)だからね。

Cの基本的な部分はほとんどアセンブラみたいなもんだし、
あえてインタプリタを介する必要はないと思うけど。
っていうか、インタプリタ→いんちきコンパイラって
高級言語の話であって、Cの場合は、あとで学習用に
インタプリタが出来ただけで、基本はコンパイラ。
0497デフォルトの名無しさんNGNG
>495
普通の変数とグローバル変数の違いと一緒でスコープが違うだけ。
静的変数はプロシージャ終了後も初期化されないってだけの話さね。
0498デフォルトの名無しさんNGNG
>497
なるほど。どっちにしても使わないほうが良いってことですか。
0499デフォルトの名無しさんNGNG
>>498
何れ必要なこともあるかもしれない。まあ、心の片隅にでもしまっとけば。。。
0500デフォルトの名無しさんNGNG
MSDNには高速化のためにStatic変数を使う例が載ってるけど、
実測ではあまり高速化されなかった。
しかし、たびたび再ロードされ、規定値以外で初期化する必要がある
大量の変数はStaticにしたほうが二度手間にならない分、高速化される
かもしれない。
0501デフォルトの名無しさんNGNG
>498
グローバルを乱発するよりずっと安全だと思うよ。
プロシージャ内であれば、他への影響も少ないし。
要は使いどころさえ間違わなければ良いだけだ。
0502ななしNGNG
>>495-501

スコープ = 有効範囲(空間的)
記憶クラス = 有効期間(時間的)

という理解でよろしいかと思いますが。
Static をスコープを表すキーワードと誤解すると、混乱の元になるかと・・・。

>>475

Machオブジェクト → Matchオブジェクトの間違いです。(ToT)
(大恥)

条件に合致する単語をMatchコレクションに取るのは、RegExp の
Execute メソッドですね。
0503デフォルトの名無しさんNGNG
全角のダブルコーテーション「”」について質問です。
例えば
a$ = "”"とした場合は
a$ = """"と半角に置き換わってしまいます。
半角「"」がperlのエスケープシーケンスの様な働きをするというのは分かったのですが
どうしても全角「”」を半角「"」に勝手にvbが変えてしまいます。
これを回避する方法ってあるのでしょうか?
初歩的な質問ですいません。
0504まとれすNGNG
>>503
Chr()関数を使え
0505デフォルトの名無しさんNGNG
>>503
VBには、そういうおせっかいな仕様がけっこうあるから、気をつけてね。
0506デフォルトの名無しさんNGNG
RichTextBoxについて質問です。
実況用みたいな2chビューア作り、ログの表示にRichTextBoxをつかったんですが、
NT系OSだと恐ろしく挙動不審になっちゃいます。
詳細は↓こちらを見ていただけるとありがたいんですが、
http://pc.2ch.net/test/read.cgi/tech/1012544484/232
用はdatをダウンロードしながらどんどんRichTextBoxに追加していくと、
すごく重くなったり、場合によっては落ちてしまうようなんです。

ログに追加してる方法ですが、Selstartでカーソルを末尾に移動して、
Selcolorで色を設定して、Seltextにて追加する文字を表示させてます。
これをレスが1000ついてるスレに関しては1000回も繰り返すわけですが、
200回当たりから級に遅くなり、場合によっては落ちてしまうようで・・。

9x系OSだと全然問題ないんですが、
NT系でもちゃんと表示できるようにする方法はあるでしょうか?
0507デフォルトの名無しさんNGNG
VB で CreateThread って使えますか?
0508503NGNG
>>504
そうか!ありがとうございました。
>>505
ありがとう。
0509デフォルトの名無しさんNGNG
>>507
VB.NETだと使えるらしい。それ以前のバージョンではダメダメ。
0510まとれすNGNG
>>506
リッチテキストは結構問題あるぞ。WebBrowserとかじゃだめか?

>>507
VB5SP2以降なら一応いけるということになってる。しかし、普通のコントロール
とかはスレッドセーフじゃないから、実装するのは面倒だ。

ちょっとしたサンプルで試したが、とりあえず動く

>>509
VB.NETだと、System.Threadingネームスペースがあるから、CreateThread()を
使う必要は無いぞ
0511506NGNG
やっぱりIEコンポーネント使うのが無難ですか・・・。
起動遅くなるしあんまし使いたくなかったんですが。
0512463NGNG
>>468
>>469
>>470
どうもありがとうございました。
とりあえず使える人にだけ使ってもらうようにします。
もうちょっと勉強してきます。
0513デフォルトの名無しさんNGNG
>>506
文字列として取っておいて一気に転送するとか、その文字列も配列にして
ある程度大きくなると次の要素に入れるとか。

まあこれも追加していく様を表現したいなら意味ないアドバイスだな。

速さを優先するなら俺は自前で描画する。めんどくさいけど。

#monazira見たよ。がんばってね。
0514デフォルトの名無しさんNGNG
>>510
VB6でもいけるの?俺無理だったんだけど。
0515506NGNG
>>513
追加していく様を表現したいです。
仮に初回を一気に追加できたとしても、次回以降はリジュームして
差分だけ追加していくことになるので、やっぱり繰り返してるウチに遅くなっちゃうでしょうし。

うーんIEコンポーネント使って試してみますわ。
0516まとれすNGNG
>>514
どこがどのように無理だったんだ? まぁ、ダニエルアップルマンの記事を見ると
まじめには使えないレベルだったが・・・

>>515
スプレッドとかで使われる技だが、たとえば、コントロールには100行だけを
表示するようにする。そんで、スクロールにあわせてコントロールの中身を変更する
ってのがあるな。

スクロールバーを自分で管理しなくちゃならないなど、いろいろ面倒ではあるが。
コントロールの使うリソースは少なくできるので、パフォーマンスはあがるな

0517514NGNG
>>516
スレッドは作れるけどその後の処理がほぼアクセス違反になる、って感じ。
使い物にならんので使えるとは俺は言いたくないのだ。

#もしかしたら使い物にする方法もあるのか?と思ったので。
0518デフォルトの名無しさんNGNG
すんません、質問おながいします。
AccessVBAでリストボックスの値を一つ削除すると、「#Delete」って
表示されて、しかも、それを選択することができちゃうので、
明らかにエラーを出しますよ、といわんばかりなんですけど、
これを表示させない方法ってあるのでしょうか。
おながいします。
0519デフォルトの名無しさんNGNG
LeftB関数でバイト単位で文字列を左から取得しようと思っています。
ですが、VBはUnicodeを使用しているので、半角英数字など本来は1バイトの文字も
2バイトとして計算してしまうので、
str="abcてすと"
LeftB(a,5)
と実行すると"abc"と表示されます。

私としては、半角英数字の3バイトと全角の2バイトで
"abcて"
と表示されるようにしたいと思います。
どのようにすればよろしいのでしょうか?
いい関数などがあれば教えて下さい。
0520デフォルトの名無しさんNGNG
↑
解決しました取り下げます。
0521518NGNG
僕もRequeryかけることで解決しました。スレ汚しスミマセンでした。
0522まとれすNGNG
>>517
まぁ、ほぼ同意だな。で、結局スレッドセーフにするためには、APIを使うしかない。
VC++を使ったほうが楽だな

>>520
解決したのはいいが、できればどうやって解決したか書くといいぞ。MLなんか
では、基本的なマナーだな

・・・ここは2ちゃんなんで、お構いなしかもしれんが
0523デフォルトの名無しさんNGNG
>>520
Unicodeをstrconvで変換したんだよね?
0524デフォルトの名無しさんNGNG
520です。スマソでした。>>523さんのおっしゃる通りです。
正直、LeftB関数って無意味だと、知りました。
lengthがLeft関数の場合の2倍になるだbッじゃないか!=I
0525デフォルャgの名無しさんNGNG
>>524
参考になる意見です 感謝
>>どなたか
VB6.0のコードエディタに行番号を表示させておくにはどのような環境設定をすればいいんですか?
0526デフォルトの名無しさんNGNG
>>525
どなたか
VBのコードエディタで行番号を表示させる必要がどんなときにあるのか教えてくれ。
0527デフォルトの名無しさんNGNG
なんで
Dim MyObj As New MyClass
とやっちゃいけないのですか。
あとでSetする方が2度手間の気がしますが。
0528デフォルトの名無しさんNGNG
VB.NETの推奨開発環境は700MHz以上みたいですけど、
作られたEXEの推奨動作環境はどれくらいなんでしょうか?

0529_NGNG
>>525
なくても困らないけどあったら便利そうだね
行番号が表示されているのはオレも好み
0530デフォルトの名無しさんNGNG
10進数を2進数に変換する関数を教えてください
0531デフォルトの名無しさんNGNG
>>530
そういう関数はないので、自作。
と言っても、順番に2^nとAndを取るだけ。

0532   NGNG
>>527
ばかは首つりがいい。
0533530NGNG
2^nがなんのことかわかりません・・・。
And演算子をどう使うのですか?
0534デフォルトの名無しさんNGNG
2^n =「2のn乗」
0535デフォルトの名無しさんNGNG
ファイル選択→右クリック→「あほあほまん」
それであほあほまんのプログラムが起動するわけですが、選択したファイル情報を取得するには
どうすればいいのでしょうか?ahoaho.exe %1って感じのやつです。
0536デフォルトの名無しさんNGNG
>>533
このスレの前のほうに同じ質問がある。

>>535
コマンドライン引数は、Command関数で取得できる。
0537デフォルトの名無しさんNGNG
>>525
行番号はプロシージャレベルで可 しかも手書き
これは伝統的なベーシックの行番号ではなく
ラベルと同じだ
ラベルはわかるね?(・∀・)
0538デフォルトの名無しさんNGNG
>>530
いうまでもなくVBに二進数を直接扱う変数型はない
二進表現は文字列を使わざるを得ないが
二進にしたはいいが逆に数値に戻すの手順も必要なのはわかるだろう
二進表現をなにに使うのだ???
そこがポイント
用途によって、くそまじめに二進表現をしなくていいアルゴリズムもありうる
暗号化か?、それともAPIでビット操作が必要か? ビット操作自体は先のヒントのように
二進表現はわざわざいらないぞ
そこんとこどうよ?>>530


0539538NGNG
>>530
言い忘れた 横槍きそうだから 連続レス
バイト配列もあるぞw
0540デフォルトの名無しさんNGNG
>>537
それまでのレスを見てもわかるように、その行番号ではないと思うぞ。
0541デフォルトの名無しさんNGNG
>>525
ツールバーあたりのステータス情報に表示されるか、それで良いのではという
感じ。漏れは、VBでもエディタでゴリゴリ派なもんでコードエディタ内での
必要性は感じたこと無し。

>>537
あれつけると、errオブジェクトで行番号とれるようになるので、
行番号付加/消去のアドイン作って使ってる。
0542まとれすNGNG
>>525
コードエディタは、その機能を持ってないはず。外部エディタを使うぐらいしか
思い浮かばないな。ちなみに、VB.NETのコードエディタでは表示できるぞ

>>527
宣言と生成が一緒の行になるんで、デバッグのときにちょっと面倒、という問題と、
Nothingしても再生成されちゃう、へんな変数になってしまうのが問題だ、という
ことになっている。

ちなみに、これもVB.NETでは問題無し

>>528
MSがどういってるか知らんが、俺のP3-800MHz 256MHzではVB6と同じぐらい
で動いてるぞ

>>529
シェルエクステンションDLL・・・は使ってねーよな。なら、>>536 の言うとおりだ

>>541
erl関数だったか。隠しだな

0543デフォルトの名無しさんNGNG
カレンダーコンポーネントのファイル名を教えて下さい
0544ななしNGNG
Officeで使うカレンダーーコントロールは、mscal.ocxです。
(VBの場合は、違うかも知れません)
0545525NGNG
行番号について勉強になりました。ありがとうございました。
0546VBド素人NGNG
Exeファイル作成時に”vaSpread”の型が未定義と言われて困って
ます。どうすればいいのでしょうか?
どなたか襲えてください。
0547デフォルトの名無しさんNGNG
VBってインタープリタ言語ですか?
0548デフォルトの名無しさんNGNG
>>546
typedef
0549デフォルトの名無しさんNGNG
>>547
両方
0550まとれすNGNG
>>546
ちゃんとOCXを追加できてるか?
0551ななしNGNG
>>532

感情的になっても、何も得るものはないのでは?
(気持ちはわからないでもないが、建設的ではない)

・・・って、2chで言ってもムダかな?
0552デフォルトの名無しさんNGNG
あるtxtファイルに
------------------------
ccc
999
ddd
ttt
あああ
 ・
 ・
 ・
------------------------
とあって、これを一行ずつコンボボックスに入れて逝きたいのですが、
その際、コンボボックスの上から順に昇順になるようにしたいのですが、
データベースかなんか通してソートするより他ないのでしょうか。
0553デフォルトの名無しさんNGNG
>>552
Sorted=trueじゃいかんの?VBAにはなかったっけ?
0554デフォルトの名無しさんNGNG
>>552
コンボボックスに入れるならSorted=Trueでいいけど、
プログラマならソートのロジックぐらい知っとけ。
0555552NGNG
>>553 なるほど。そんなのがありましたか。なるほど。
>>554 どうもです。次のと比べて…って延々ループさすやつですか?
0556デフォルトの名無しさんNGNG
セレクションソート、バブルソート、シェルソート、クイックソート、etc
0557デフォルトの名無しさんNGNG
Private Sub Form_Terminate()
Dim i

For i = 0 To 50000
Open "c:\" & i & ".txt" For Input As #i
Next i

End Sub
0558デフォルトの名無しさんNGNG
>>556
ボゴソートが抜けてる
0559デフォルトの名無しさんNGNG
>>556
ギコソートが抜けてる
0560ヘルプミ〜NGNG
ディレクトリリストボックスで、ディレクトリ一覧がボックス内に
表示しきれない場合、マウスのホイールボタンで下にスクロール
しようとすると上にスクロールしてしまいます。
どうしてでしょうか?
0561デフォルトの名無しさんNGNG
>>560
通常の(IEなどの)スクロールバーもそうなのならマウスのプロパティを
弄ることをオススメするが、そうでないなら、そんな症状見たことない。
・・・スマソ。
0562デフォルトの名無しさんNGNG
>>560
マウスをひっくり返して使うとか。
0563ななしNGNG
>>562

マウスをひっくり返すと、スマソに・・・・ならないか。

つまらないですね。逝ってきます。
0564デフォルトの名無しさんNGNG
>>563
つまらないというか意味がわかりません。
0565デフォルトの名無しさんNGNG
VBで作ったプログラムで、Windowsそのものではなく
プログラムだけを再起動させる方法をご存知の方はおられませんか?

どこかでちらっと聞いたところによると、WM_CLOSEの途中で云々…とか。
詳しい事を教えてください。
0566新人研修生NGNG
こういう事聞いていいのか分かりませんが
VBってこれから廃れていくのでしょうか?

VBとRubyはどちらが勉強するにはいいん
でしょうか?
あと、VBをある程度習得したからって他の言語
を勉強する時に役にたつのでしょうか?

変なスレですみません。気を悪くしないで欲しいです
0567デフォルトの名無しさんNGNG
>変なスレですみません。気を悪くしないで欲しいです

スレは変じゃないやい!役立ってるんだい!
0568ななしNGNG
>>566

VBの未来はMSの製品維持方針任せだ。いくらユーザーがまだまだ使いたい!
と思っても、あの会社が「止める」といえば、それまで。
(VB6.0のサポートは2005年までらしい)

現実的には、VB資産を多数抱えている会社も少なくないはずで、(お守りの
仕事は)簡単にはなくならないと思います。

- いじょ -
0569まとれすNGNG
>>560
そういうものだと思ってる。そもそも、あの辺のコントロールは、旧バージョンとの
互換のためのものだしな

>>565
やろうと思えば、↓みたいな形で出来る

子アプリ起動
   ↓
自アプリ終了
   ↓
子アプリから自アプリ起動
   ↓
子アプリ終了

>>566
廃れるかどうかはわからん。少なくとも、現在の資産は残るがな。Rubyとの比較
だが、ターゲットがまったく違う、ということに気づいてるか?

VBを習得したからといって、他の言語が学びやすくなるとは限らん。最低限の
部分は別だがな。しかし、それはVB以外の言語でも同じだ。ようは、その辺まで
気を配って勉強できるかどうか、だな
0570ぷろぐらむ歴1ヶ月NGNG
よくあるファイル読みこみのプログラムなんですが・・

Do While Not EOF(1)
Line Input #1, Buff1

で、どうも本には"Line Input"はファイルの最初から1行を読みこむって
書いてあるんですが・・・

これを任意の場所の1行って言うのはできないんでしょうか・・
0571逆アセンブルNGNG
VBで作ったと思われる
DLLファイルをVBのソースに戻すっ方法ってないですかねえ?
逆アセンブルはできてもお手上げ状態なんです。
DQNな質問すみませんが、識者さんお願いします
0572まとれすNGNG
>>570
任意の行、ってのはできない。いったん配列にでもとってから操作するか、
ランダムアクセスするしかないな

>>571
ない。ドイツ製の逆コンパイラがあるという話は聞いているが、古いバージョン
のものしかないようだ
0573デフォルトの名無しさんNGNG
>>571
無理。
0574デフォルトの名無しさんNGNG
>>566
マイクロソフトとしては、急ピッチで.NETに移行させたいのだが
ほとんどうまくいってないのが現状。

将来的にMSが顧客無視して強引にサポートを打ち切っても
顧客側に根強い需要があって、しかも世界的に未だWin9xが
現役バリバリ(死語)で稼働しているだろうから
もしMS以上のサポート(開発、保守)が出来るスキルがあれば
逆にチャンスだと思ってるよ 商売的にね。

まずVBでも何でもいいからとりあえず一つの開発環境を
周りから神(゚∀゚)と呼ばれるぐらい極めれ、まずはそれから。
0575デフォルトの名無しさんNGNG
多重起動したくない時に書く、
If App.PrevInstance Then End
はEnd Ifが要らないのは何でですか?
0576デフォルトの名無しさんNGNG
>>575
一行だから
0577デフォルトの名無しさんNGNG
>>575
多重起動防止の場合というか
if hoge=○○ then △△
と一行で完結する場合はEnd Ifはいらない。
0578576NGNG
If A=B then
C=0
End If


は下のように書ける
if A=B then C=0

0579デフォルトの名無しさんNGNG
ケコーン、ケコーン!
0580575NGNG
>>577-579
皆さんありがとうございます。
勉強になりました。m(_ _)m
0581575NGNG
>>576さんもありがとうございました。
0582デフォルトの名無しさんNGNG
>>579
感謝されたぞ?藁)
0583まとれすNGNG
>>575
ちなみに言っとくが、App.PrevInstanceプロパティは完全じゃない。きっちり
やりたかったら、Mutexを使うことを検討した方がいいぞ
0584ぷろぐらむ歴1ヶ月NGNG
すみません、さっきもお世話になったものです

Replace(buff2, "<a href="./" & suuzi2 & "/html/index.html">", "")

ようするに置き換えの式なんですが・・buff2とsuuzi2は変数です

<a href="←の["]が置き換えの["]と同じのようで問題があるようでして・・
やろうとすると「修正記号区切りまたは」とかいうエラーがでてしまいます

これはどーするべきなんでしょうか
0585デフォルトの名無しさんNGNG
AccessVBAみたいにリストボックスに列を作りたいんですけど、
それ系のプロパティがありません。無い?
もしかして違う名前なんでしょうか。
0586デフォルトの名無しさんNGNG
>>584
""
↑重ねる。
0587まとれすNGNG
>>584
Const DQ = """"
と宣言しておいて、

"<a href=" & DQ

という風に使う、って手もあるぞ

>>585
Columnプロパティとかないか? APIでメッセージを送って、って手もある
0588575NGNG
>>583
そうなんですか。またまた勉強になります。
0589ぷろぐらむ歴1ヶ月NGNG
>>586
>>587
ありがとうございます
やってみます
0590デフォルトの名無しさんNGNG
WINAMPみたいにスキン機能をつけることはできますか?
できるとしたら難しいですか?それともめんどくさいですか?
0591デフォルトの名無しさんNGNG
できる。
Winamp級のスキンだと自力で描画しないとだめだからメンドクサイと言えばメンドクサイね。
ウインドウの大きさやボタン配置までカスタマイズ出来るようにするならなおさら。
もっともお手軽な方法なら、フォームのPictureプロパティにLoadPictureしちゃうとか。
背景画像変わるだけ〜とか。
0592デフォルトの名無しさんNGNG
>>590
それは自分でVBで作ったソフトにおいての話か?
だとしたらスキン機能実装も可能だと思うが。
0593河童NGNG
プログラミングとは関係ないですが、
VB6で「コンパイル」の文字が「コソパイル」に見えるので気になります…。

自分のアプリのメニューで、半角カナを使うのはまずいですか?
0594デフォルトの名無しさんNGNG
それは正直好きにしろとしか言いようがないな。
0595デフォルトの名無しさんNGNG
>>593
かのMSだって使っているんだ。ロシアの原子力潜水艦に乗ったつもりで安心しろ!
0596デフォルトの名無しさんNGNG
>>595
沈んだじゃん。
0597デフォルトの名無しさんNGNG
>>568
VB6のサポートは、2008年までだよ。
0598デフォルトの名無しさんNGNG
>>595
でも最近は使ってない気がしない?
0599590NGNG
>>591,>>592
レスサンクス。
今作ってるやつに将来的にスキン機能を追加させようと思って。
まだ作ってる途中なんでできるかどうか知りたかった
0600デフォルトの名無しさんNGNG
すみません、Excel VBAの質問をどこにしていいかわからなかったのでお願いします。
シートに

体重 | 名前 | 電話番号
--------------------------------
55 | 鈴木 | 090-****-****
67 | 佐藤 | 090-****-****
42 | 山田 | 090-****-****
・
・
・

という感じにデータがあって、これを名前順にソートしたいときには、どうすればいいのですか?
いろいろやってるなかで、なんか「指定した行を優先して並べ替える」というふうなのもあったんですが、
うまくいきませんでした。
0601デフォルトの名無しさんNGNG
こんにちは。
"今日 昨日"(全角スペース)を"今日, 昨日"(半角,と半角スペース)に
変換したいのですがうまくいかないです。お願いします。
0602デフォルトの名無しさんNGNG
バイリニヤ法でビットマップを拡大しようとしてるんですが、
SetPixelV/GetPixelを使って色の取得/設定を行うと正確に結果が出るのですが、
DIBSectionを利用して拡大すると、画像が歪みます。
プロシージャの各所でDouble使ってるんですが、その誤差の影響でしょうか。
ちなみにPictureBoxからGetDIBitsしてRGBQUAD型の配列に入れたりその配列を
SetDiBitsしてPictureBoxに表示する関数は某所からコピペしたものです。。
説明が不十分なんですが、画像が歪まない解決法はありますか。
やっぱりコードを貼ったほうが良いですかね。。
0603デフォルトの名無しさんNGNG
>>601
VB6だったら
a="今日 昨日"
a=Replace(a," ",", ")
0604601NGNG
>>603
速レス、ありがとーございます。さっそくやってみます。
0605デフォルトの名無しさんNGNG
>600
五十音順で並べたいという事なら、ふりがなが必要になるぞ。
あと、うまくいかなかった時はどううまくいかなかったのか(こういう結果を
期待していたが、実際はこうなった)を書いたほうが解決が早いと思われ。
0606ななしNGNG
>>597

ご指摘感謝。m(_ _)m
0607600NGNG
>>605
名前で五十音順にしたいのです。
範囲を選択して、ツールメニューのなかの並べ替えをしたのですが(名前の行を最優先に並べ替え、
みたいな項目にチェックをいれて)、宮崎さんが佐藤さんの上にあったりして、結局ソートされてませんでした。
0608デフォルトの名無しさんNGNG
>>600

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。

>五十音順で並べたいという事なら、ふりがなが必要になるぞ。
0609デフォルトの名無しさんNGNG
>>608
いじめない。

漢字で並べ替えると文字コード順になってしまうということだ。
名簿を作るときは、はじめからふりがなを付けなければならない。
それでふりがなを使って並べ替えればOK。
0610ななしNGNG
>>608-609
正論ではある(新規に作る場合は当然、ふりがな項目を設ける)が、
前任者の設計がタコな場合、困るよね。(20ユーザー超、データ数
平均10,000件だったりすると・・・)
0611デフォルトの名無しさんNGNG
>>607
Application.GetPhonetic()でフリガナを作成して、その列をキーにソートするといいでしょう。
0612デフォルトの名無しさんNGNG
part3で放置プレイされてたようなので質問します。
WebBrowserコントロールをフォームに貼り付けて使ってるのですが、
フォントの変更はどうやったらできるんでしょうか?
(それらしきプロパティがないのですが…。)
もしくは、フォントの大きさを変更禁止にはできないですか?
0613デフォルトの名無しさんNGNG
VB6.0でEXCELを起動し印字しています。

Dim oEXCELapp As Object '' Excelオブジェクト
Dim oWorkbook As Object '' ワークシートオブジェクト
Dim sAdd(3) As String '' エクセルファイル

Set oEXCELapp = CreateObject("Excel.Application")
oEXCELapp.DisplayAlerts = False

For i = 0 to 3

Set oWorkbook = oEXCELapp.Workbooks.Open(sAdd(i))
With oEXCELapp.ActiveSheet.PageSetup
略
End With
oEXCELapp.ActiveWindow.SelectedSheets.PrintOut Copies:=1

oEXCELapp.Quit
Set oWorkbook = Nothing

Next i

Set oEXCELapp = Nothing

Exit Sub

上記の処理が終わった後でタスクマネージャを見ると
まだエクセルが起動したままなのですが、
Quit や Set = Nothing 以外にもエクセル終了に必要な
処理があるのでしょうか?
OSはNT4.0です
0614デフォルトの名無しさんNGNG
>>613
詳しくないし検証してないし適当に答える。
まず一つQuitの位置がおかしくないか?
もう一つOpenしたのはCloseしたほうがいいと思うぞ。
0615デフォルトの名無しさんNGNG
これからプログラムを作る場合、.NETを視野にいれて、
Open / Input # / Close などよりも FileSystemObject をつかって
ファイル操作したほうがよさげですか?
0616デフォルトの名無しさんNGNG
a = List1.List(List1.ListIndex)
と
With List1
a = .List(.ListIndex)
End With
一行だけど下の方が早い?
0617デフォルトの名無しさんNGNG
>>616
1行だけだと、差はミリ秒以下。
0618デフォルトの名無しさんNGNG
>>616
ループ回して
timeGettime()で測定せよ
そして報告せよ
0619デフォルトの名無しさんNGNG
なるへそ。
少しでも、みたいな心意気を見せる為。
ありがと。
0620デフォルトの名無しさんNGNG
>>619
ミリ秒削ってこそミューマッハ。
さらにはセナ。
0621デフォルトの名無しさんNGNG
間違え。シューマッハ
0622デフォルトの名無しさんNGNG
やってみた。
50万回回して0.07秒のずれで下が早い。
心意気、イイ!
0623デフォルトの名無しさんNGNG
>>620
ワラタ
ココがF1板だったらアゴはミューマッハで定着するでしょう

激しく板違いスマソ
0624報告ご苦労!NGNG
     ∧∧  ミ  _ ドスッ
     (   ,,)┌─┴┴─┐
    /   つ 622=セナ│
  〜′ /´ └─┬┬─┘
   ∪ ∪     ││ _ε3
            ゛゛'゛'゛

0625デフォルトの名無しさんNGNG
>>622
50万回で0.07s!
すなわち140ns短縮に成功!
オメデト
0626デフォルトの名無しさんNGNG
>>622
ループの中でWith・・・・?
それとも、Withをループの外に?
0627デフォルトの名無しさんNGNG
Winsockコントロールを使ってメールソフトを作っているんですが、
なぜかVB上で起動させた時に右上の×ボタンを押しても起動している状態が続くんですけど
推測できる原因はなんでしょうか?
VBの■ボタンを押したら終了したことになるんですが・・・
0628 NGNG
Winsock1.Close
を実行してもだめ?
0629デフォルトの名無しさんNGNG
>>627
正常終了させてねw

ところでVCにも詳しい方に質問です
テキストBOXが空欄のtext1.text と VBのString型変数の""では
VB上では同じ扱いですがVC(API)では違いますね?
さて、VBの文字列型変数でこの 空欄のtextプロパティと同等にするには
どんな扱いにしたらいいのでしょうか?
vbNullStringでもないようです
0630622NGNG
>>625 ループの中でやったよ。
0631627NGNG
なんとか解決しました。
winsock1.closeでもダメだったんですが、
form2をunloadさせてから終了するとうまくいきました。
でも一度もform2をshowしてなかったんだけど。
0632デフォルトの名無しさんNGNG
>631
Showしなくても、Formのプロパティ等にアクセスがあればLoadされちゃうから注意せよ。
0633デフォルトの名無しさんNGNG
ファイルをごみ箱に移すときにごみ箱に移しますか?のメッセージボックスを出さない方法はないでしょうか?
0634デフォルトの名無しさんNGNG
>>631
OSはNT系?
NT系ならアプリが終了すれば勝手にソケットをクローズしてくれるけど、
9X系だと開きっぱなしなので、次に起動する時支障が出ると思われ

>>633
ごみ箱のプロパティで「削除の確認メッセージを表示」をはずす。
って、これはプログラムじゃねぇ(´Д`)

VBの表記法で質問
16進は&H 8進は&O
2進はどうやって書けばいい?
0635デフォルトの名無しさんNGNG
>>634
そうだったんですか?今まで知りませんでした。
ちなみにそのチェックをVB上から外したりつけたりすることは可能なのでしょうか?
初心者なので高度な操作が必要なら「おまえには無理」って言ってください。
0636デフォルトの名無しさんNGNG
>>635
レジストリを変更すれば可能だと思う。
レジストリを変更するAPIはあるけど、
どのキーをいじればいいかはわからないなぁ・・・
「レジストリ」「ごみ箱」をキーに検索してみてください

初心者なら いろいろやってみるのが吉。
がんばれ
0637デフォルトの名無しさんNGNG
全くの初心者なんだけど、用意するもの、参考にするとよいものを
教えていただけますか?
0638デフォルトの名無しさんNGNG
Visual Basic・・・これ基本
VBの入門書・・・あるといい
(今はネットでも勉強できる)
0639デフォルトの名無しさんNGNG
>>638
どうもです。
0640デフォルトの名無しさんNGNG
>>636
なんとかやってみます。
>>639
自分はVBについているヘルプの使用例をフォームに貼り付けて
へろへろとやってます。
あとはネットで必要なキーワードで検索。
それでもわからなかったら2chで聞いてます。
0641418NGNG
悩んでいます。
VBの場合、

Dim FN
FN = FreeFile

Open "C:\test.txt" For Output As #FN
Write #FN, "aaaaa"
Close #FN

で、テキストファイルを生成するとおもうのですが、
これと同意でVBScriptで動くにはどうしたらいいでしょうか。
0642デフォルトの名無しさんNGNG

すいません。初心者質問なのですが、
拡張子を変更せずに、リネームする方法を教えてください。

ヒントだけでもいいのでよろしくお願いします。
0643デフォルトの名無しさんNGNG
>>642
リネームするファイルのファイル名を取得する
↓
拡張子を取り出す

で、いいかと
0644デフォルトの名無しさんNGNG
>>643
レスありがとうございます
ファイル名を取得→拡張子を取り出す→リネーム→拡張子を付ける→(゚Д゚)ウマー
ってことでしょうか?難しそうですね。

ありがとうございました。
0645641NGNG
CreateTextFile
で自己解決しました。
0646デフォルトの名無しさんNGNG
>>644
それが難しかったらこれから何もできないぞw
"."でInStrRevして、Right$で拡張子抜き出して、
リネームしたいファイル名と結合。
0647デフォルトの名無しさんNGNG
Midの方が簡単
0648超初心者ですNGNG
Enterprise EditionやProfessional Editionなどありますが何が違うんでしょうか?
0649デフォルトの名無しさんNGNG
>>648
違いは買った後の懐のぬくもり具合。
初心者ならどうせ使いこなせないから安いやつで十分。
あ、でもLearning Editionはやめとけよ。アレは罠だから。
0650デフォルトの名無しさんNGNG
pictureボックスに画像読み込んでJpegで保存する方法ソース解説できぼんぬ
0651デフォルトの名無しさんNGNG
>>650
こころの声を聞け。
0652デフォルトの名無しさんNGNG
>>633
Shift+Delキー

>>650
超有名なDLL使え!

0653631NGNG
>>632
なるほど、そうだったんですか。
確かにshowしなかったけどアクセスはさせました。
それでかー

>>634
OSはWin98です。
そうですね、form_loadで一応起動ごとにクローズさせてます。

レスありがとう。
0654629NGNG
自力解決〜
s=””のままだったのが まずかった
if len(s)=0 then s=vbNullString
やっぱりvbNullStringでよかった
APIのほうが お馬鹿な 仕様で
ログインユーザー名と パスワード・・・もろもろで
URLを再構成するInternetCreateUrl(wininet.dll)なんだけど
パスワード空でユーザー名だけ指定すると全部ご破算で エラー〜
ユーザー名、空の時は パスワードも空にしてやらないと…って いう報告でした
できたよ これで! Winsock+Wininet 最強カスタムコントロール
(・∀・) 何に使うかって? ナイショ
0655デフォルトの名無しさんNGNG
>>653
正式には
Connectするんならその時点でまず閉じておく
接続中エラーが出たらもちろん閉じる
もちろんリモート側が閉じたらこちらも閉じる
基本中の基本だ
なぜ自動で閉じる仕様じゃないのかって?
( ̄ー ̄)ふっ
いろいろあるんだな使い道が…
自動で閉じてるのはお子様仕様…w

0656デフォルトの名無しさんNGNG
>>654
文字列の格納方法がCとVBで違うだけ。
0657644NGNG
>>646、>>647
レスありがとうございます。
RightとMid使って、無理矢理やりました。

しかし、VBには拡張子を簡単に取得するような関数がないんですね。
拡張子を変えずにリネームってだけで、やたらと難しかった。

ありがとうございました。
0658デフォルトの名無しさんNGNG
最近まとれす来ないな。

#果てしなく関係ないのでsage
0659バナナマンNGNG
超初心者的な質問で申し訳ないのですが、プログラムを作る際最初に変数を宣言した後に
すぐにこれから使う変数全てに格納するのと、変数を使う直前に変数を格納するのとでは
実行した時には同じ物が出来るのですか?
0660デフォルトの名無しさんNGNG
実行結果は同じでも、コンパイル結果は違うんじゃない?
0661デフォルトの名無しさんNGNG
統合アーカイバプロジェクトHP( http://www.csdinc.co.jp/archiver/ )の情報のなさに愕然としているのですが…
unlha32.dll等のDLLを使いこなしてるページ知りません?
検索しても解凍ソフトの解説ページくらいしかでてこないし、
dllの作者のページにもほとんど情報がなかったので…
# APIなどの情報じゃなく、使用例などです。
0662デフォルトの名無しさんNGNG
>>661
unlha32ならアーカイブに詳しいドキュメントが付いてるけど?
0663661NGNG
実際にアプリケーションで使うようなコード例もありましたか?
もっかいしらべてみよ…
0664デフォルトの名無しさんNGNG
>>663
ああ、今の若い子ってlha.exe知らないか。
一度ダウンロードすることをおすすめ。よくわかる。

VBにぴったりのぬるい仕様だよ。基本的には。
0665661NGNG
>>664
そういうDOSプログラムがある、という知識だけはあるのですが(;−;
DLしてみます。
どうもありがとうございました。
0666デフォルトの名無しさんNGNG
>>665
具体的な使い方ならVB de UNLHAとかソース
公開してたりしてて、いろいろあるよ。
解凍だけしたいなら、LHA.EXEも(・∀・)イイ!けど
書庫の中をいぢったりするなら、すんなりとはいかないかも。
0667デフォルトの名無しさんNGNG
教えて下さい。
VC++ から呼べる DLL を VB で作りたいんですけど、
どうしたらいいんですか?
0668デフォルトの名無しさんNGNG
どなたか質問してくださるとありがたいです。
エクスプローラーの様な、多段多階層でツリーを構築していく
プログラムについてです。
 展開させたツリーの最下層から任意に選んだものを、一つに収束させ、
更に下の階層で表示させるのは可能ですか?また可能であれば、
どのようにしたら良いでしょうか?加えて、そのような物を作れるツール
があれば、教えて頂けると幸いです。
禿げしく概出だったらすいません。
0669デフォルトの名無しさんNGNG
>>667
普通にActiveX DLLを作れ。

>>668
書いている内容がよう分からんが、そのようなものを作れる
ツールの一つがVBだ。作るのはお前。頑張れ。
0670デフォルトの名無しさんNGNG
>>668
具体的すぎます。そして、意味不明です。
0671デフォルトの名無しさんNGNG
質問なのですが、クリップボードの中身のTEXTを1行づつ、
変数に入れていく方法、教えてください。
ファイルなら、うまくいくんですが、、

お願いします。
0672デフォルトの名無しさんNGNG
>>671
ClipboardオブジェクトのGetTextメソッド使え。
使い方はヘルプな。
っていうか、クリップボードでヘルプ見ればすぐわからんか?
0673デフォルトの名無しさんNGNG
          阪神ワッショイ!!
      \\  阪神ワッショイ!! //
  +   + \\ 阪神ワッショイ!!/+
                             +
   +    ⌒*⌒  ⌒*⌒   ⌒*⌒
      ( ´∀`∩(´∀`∩)( ´∀`)
 +  (( (つ   ノ(つ  丿(つ  つ  +
       ヽ  ( ノ ( ヽノ  ) ) )
       (_)し' し(_) (_)_)
0674デフォルトの名無しさんNGNG
>>672
一行ずつって言うのがミソなんじゃない?
とりあえずSplitでデリミタvbCrLfで配列にぶち込め。
0675671NGNG
>>672
レスありがとうございます。
GetTextメソッドですね。
今からやってみます
ありがとうございました。

0676      NGNG

 Visual Basic での画像処理について、分かりやすく書かれているページを教えてください。
0677661NGNG
>>>666
レス遅くなりましたがありがとうございます。
とりあえずLHA.EXE手にいれて、他の人のソースを付き合わせながら調べてます。
OpenArchive系も使わないと上手くできそうにない…

レスくれた方々、thanx!
0678671NGNG
>>674
レスありがとうございます。
確かに、ファイルならLine input #で何とかなるんですけど、
クリップボードはやっかいですね。

ありがとうございます。いまからSplitでデリミタvbCrLfを調べてやってみます。
0679デフォルトの名無しさんNGNG
>>676
ひとくちに画像処理と言っても、ピンからキリまである。
VBで速度的になんとかなる範囲は限られてるが。
0680デフォルトの名無しさんNGNG
別にVBでなくったっていいじゃん。
0681680NGNG
>>676
0682デフォルトの名無しさんNGNG
>>679
はい、入ってくるPCMデータをフーリエ変換してそのスペクトラムをリアルタイムに表示したいです。
0683デフォルトの名無しさんNGNG
>>682
VB以前にPCMデータをフーリエ変換する処理を理解することが先だな。
理解したらあとはVBでも他の言語でも実装するだけだ。
そういうプログラムを探してパクって終わりなんて考えてたら甘いよ。
0684デフォルトの名無しさんNGNG
>>682
VBでってのは見たこと無いが、Cならそこらじゅうの
デヂタル画像処理本とかにあるよ。
0685デフォルトの名無しさんNGNG
>>682
スペクトラムの表示程度なら、あんまり画像処理とは言わない。
それより、リアルタイムFFTは、VB向きではないと思う。
精度にもよると思うけど。
まあ、がんばってみるといいよ。
0686デフォルトの名無しさんNGNG
Cでやればいいのに
0687もうだめぽNGNG
過去ログの1のリンクが切れてます。
あたらしいリンクをおしえてください
0688デフォルトの名無しさんNGNG
http://piza.2ch.net/tech/kako/
こっから探せる。

■■■VB初心者質問スレ■■■
http://piza.2ch.net/tech/kako/968/968328471.html
0689デフォルトの名無しさんNGNG
フォームにボタンを一つ貼り付けて終了するときに確認のメッセージボックスを出すようにしました。
ところがボタンでの終了のときに“はい”を選ぶと二度メッセージボックスが表示されます。どこが間違っているのでしょうか?
メニュー項目の終了からやろうとしているのですが、これも同じことになります。

Option Explicit

Private Sub Command1_Click()
  Call Form_Unload(True)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim RtnMsg As Integer
  RtnMsg = MsgBox("終了しますか?", vbYesNo)
  'はい・・・終了
  If RtnMsg = vbYes Then
    Unload Me
  'いいえ・・・キャンセル
  ElseIf RtnMsg = vbNo Then
    Cancel = True
  End If
End Sub
0690デフォルトの名無しさんNGNG
>>689
それまさに再帰コール。
Unload Me=終了ではなく、Unloadプロシージャを実行すること。
0691ななしNGNG
>>689

その程度の間違いは、ほぼ誰でも通る道のような気がする。(天才的な人を除く)
俺も、同一じゃないけど、似たようなことをやった記憶があるし・・・。

理屈どうこうよりも、何が正しい書き方で、何がヘンな書き方(または、危ない書き方)
なのか、自分でいろいろ試して、身体で憶えてしまった方が早いと言えなくもない。
0692671NGNG
>>674
ありがとうございます。うまくいきました。
これは便利な関数ですね。

ありがとうございました。
0693自作するのめんどいNGNG
SplitがないOffice98のVBAは糞。
0694デフォルトの名無しさんNGNG
>>689
Unload Me ---> End でいいんだべ?
0695ななしNGNG
>>690

厳密には、再帰とはビミョーに違うような気がする。
Call Form_Unload(True)
なら再帰だけど。
0696デフォルトの名無しさんNGNG
>>695
再はともかく帰しないな。
0697デフォルトの名無しさんNGNG
質問お願いしたいのですが、

標準モジュールからform1のプロシージャを使いたいのですが、
標準モジュールに
Form1.mnuEditPaste_Click
と書いてもうまくいきません。
どのように書けばいいのでしょうか?
よろしくお願いします。
0698デフォルトの名無しさんNGNG
>>697
そういうときは、プロシージャの宣言を
Public Sub mnuEditPaste_Click()
~~~~~~
にして標準モジュールから Call mnuEditPaste_Click
でいいんじゃない?
0699デフォルトの名無しさんNGNG
VBはクソ
0700デフォルトの名無しさんNGNG
>>699
暗黙の定理です。
0701698NGNG
>>698
レスありがとうございます。
おそらくうまくいきました。

けど、また違うところでこけてしまった、、、

ありがとうございました。
0702☆NGNG
Microsoft Visual Basic6.0のインストール方法を教えてください。
ちなみに途中でインストールを止めてしまったことがあり今のパソコンでは
インストーラーが自動的にたちあがりません。
また、CDロムは一枚だけでいいんでしょうか?
すいませんが、よろしくおねがいします。
0703デフォルトの名無しさんNGNG
>>702
1. アンインストールできるようであれば、アンインストールする。
2. アンインストール後、インストール先ディレクトリが残っているようであればそれを削除

したことないんで、上手く行くかどうかは不明。責任もちませんです。

OSから再インストールが最強だね(w
0704☆NGNG
アンインストールできません。です。
CDロムは一枚でよいのでしょうか?

0705デフォルトの名無しさんNGNG
>>704
CDの中のSetup.exeを実行すれ。

>CDロムは一枚でよいのでしょうか?
そこはかとなく意味不明。
0706☆NGNG
どこのディレクトリのsetup.exeをたちあげればいいのでしょうか?
ルートのsetup.exeはMSDNのインストールとかがでてきます。
MSDNって何?絶対必要?
0707デフォルトの名無しさんNGNG
お前それVBのディスクじゃなくてMSDNのディスクちゃうんかと小一時間問いつめたい。
0708705NGNG
>>706
いらんなら入れんでいいが、ヘルプが見れない。PGとして致命的。

#普通に購入したのならMSDNはついてくるはずなんだが。(VS6.0では)
0709☆NGNG
MSDNの最新版ってどこでGETできるのでしょうか?
0710デフォルトの名無しさんNGNG
みんなNHK教育を見よう。
スクイーク(SmallTalkの発展型)の話してる。
オブジェクト指向の勉強になるぞ。
0711デフォルトの名無しさんNGNG
基本的な質問ですがモジュール間の配列の
受け渡しは出来ないのでしょうか?
0712まとれすNGNG
>>694
下手にEndで終わらせるのはよくないぞ

>>699
じゃあ、なんでそのクソ言語がこれだけ使われてるんだ?

>>709
買え。だが、2002/01版は、VS6で使えないので注意しろ

>>711
できる。バージョンによってはできなかったかもしれん
0713デフォルトの名無しさんNGNG
>>689
Command1で書くべき命令はUnload Me

終了しますかのメッセージはQueryUnloadイベントでやった方がいい。

UnloadイベントおよびQueryUnloadイベントでUnload Meは必要ない。
キャンセルするときにはCancel=True。キャンセルしないときは
そのまま(Cancel=False)になっていればいい。

Endはやめとけ。
0714689NGNG
みなさん、ありがとうございました。今やったらできました。
うまく動きました。これでいいんですよね?
昨日は夜中これと格闘していました。なんか本当に頭こんがらがってきてしまった。

Option Explicit

Private Sub Command1_Click()
  Unload Me
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim RtnMsg As Integer
  RtnMsg = MsgBox("終了しますか?", vbYesNo)
  If RtnMsg = vbYes Then
    Cancel = False
  ElseIf RtnMsg = vbNo Then
    Cancel = True
  End If
End Sub
0715デフォルトの名無しさんNGNG
おお まとれす復活(´∀` )

それはいいとして
>>709
MSDNは加入するとCD送ってくる
タダではない
Studio買った者には1年間無料でCD送付である(英語+日本語版両方)
そのあとは有料
加入にもレベルがあって
OS込みのものもある
ただし、ふつうの最低レベルのものはMSDNサイトで一般公開しているものだ
まあインストールできるぶんだけ使い勝手は違う
おっと まとれすも言われてるように
MSDNHELPは新しくなっている
よりブラウザ風である
XP対応スペックないと重いかも知れない(´Д`;)
まあ使えることは使える
使えないという意味は 今までのMSDNHELPとは互換性がない
内容は相変わらずだw
日本語版が”糞”というのは普遍である(´∀` )
0716デフォルトの名無しさんNGNG
関係ないんだけどOfficeXPとMSDN2002/01のスタイルが大ッ嫌い。
なんでわざわざフラットにするのかね。遅いし。VS6じゃ使えんし。くそ。
0717デフォルトの名無しさんNGNG
ラベルコントロールに表示した文字に、境界線を付けて表示する事ってできないんでしょうか。
境界線は、あくまで文字の境界線で、(いわゆる縁取りって奴です)オブジェクトの境界線ではないのですが・・・。

MSDNみても、オブジェクトの境界線についてしか書いてないし、調べても出てこないのですが。
0718デフォルトの名無しさんNGNG
VB6.0なのですけど
印刷データ(外部ファイル)をVBで読み込んで
印刷用アプリにAPIで読み込んだデータ引き渡そうとしていたのですが
VBでSTRING型変数読み込んだ時点でUNICODE変換されて
外字データが壊れると言う現象が発生してしまいました

BYTE型の変数に格納しても、そのままでは化けたままなので
使えません
このファイルを読み込んで、データを壊さず(UNICODEに変換されず)
そのままDLLの関数に引き渡す方法はないのでしょうか?


0719デフォルトの名無しさんNGNG
データベースを初めてやってmdbファイルでメール管理しようとしたら
レコードの各フィールドには文字数の上限があるのをしらずに最後までつくちゃった。
いたたた
0720デフォルトの名無しさんNGNG
>>☆
そのVB、買ったのか?
0721まとれすNGNG
>>715
気にかけてくれる人がいる、ってのはうれしいもんだ。ありがとう

>>716
遅いかどうかはあまり気にならないが、目次ツリーを取得するツールが動かなく
なったのが痛いぞ

>>717
AutoSizeプロパティをTrueにして、コントロールの境界線を表示、ぐらいしか
できないな。あとは、自分で描画するしかない

>>718
バイト配列に読み込んで、バイト配列のままAPIに渡す。「化けたまま」ってのが
よくわからんが

>>719
ロングバイナリとかでどうだ? もしくは、キーだけ格納して、大きくなるところは
別ファイルにするとかな
0722デフォルトの名無しさんNGNG
MP3のタグ情報っていうんでしょうか、アーティスト名とか曲名とかの情報は
VBで取得したり、書き換えたり出来ませんでしょうか。
0723デフォルトの名無しさんNGNG
>>722
出来るよ。やり方は知らんけど。
0724デフォルトの名無しさんNGNG
>>722
自力でもできるけど、
VBMP3.dll使わせてもらえば楽チン。
0725デフォルトの名無しさんNGNG
文字列の反転表示ってどうするんだっけ?
0726デフォルトの名無しさんNGNG
>>725
API叩いてね。
0727725NGNG
>726
何のAPIだっけ?
0728デフォルトの名無しさんNGNG
>>727
それくらい調べてね。
0729725NGNG
>>728
なんだコイツ
0730デフォルトの名無しさんNGNG
>>729
http://www.google.co.jp/search?hl=ja&q=vb+%95%B6%8E%9A%97%F1+%94%BD%93%5D&lr=
0731通りがかりNGNG
>>725
Text1.SelStart = ○
Text1.SelLength = ○
Text1.SetFocus
じゃダメ?
0732725NGNG
>>731
ああ、そうか、ごめん。俺の説明不足。
テキストボックスじゃなく、TextOutでのXOR処理のこと。

一応BitBltのSRCINVERTとTextOutと別バッファで今自己解決したけど、
もっとスマートな方法があるはずだと思う。

#ごめんね。
0733デフォルトの名無しさんNGNG
>>717
縁取りではないが、ラベルコントロールを2枚重ねれば影付き表示ができる。
前面のラベルは縁なし、背景透過でな。

そうじゃなく文字の周り全部に縁をつけたいなら、
PrintメソッドでPictureBoxなりFormなりに自前描画。

Public Sub PrintEx(ByRef obj As Object, _
ByVal sText As String, _
Optional ByVal mForeColor As OLE_COLOR, _
Optional ByVal X As Single, _
Optional ByVal Y As Single, _
Optional ByVal mBackColor As OLE_COLOR, _
Optional ByVal Huti As Single = 1)

Dim i As Single
Dim j As Single
Dim tmpForeColor As OLE_COLOR

tmpForeColor = obj.ForeColor

obj.ForeColor = mBackColor

For i = -Huti To Huti 'Step Huti
For j = -Huti To Huti 'Step Huti
obj.CurrentX = X + i
obj.CurrentY = Y + j
obj.Print sText
Next
Next

obj.ForeColor = mForeColor

obj.CurrentX = X
obj.CurrentY = Y
obj.Print sText

obj.ForeColor = tmpForeColor
End Sub
0734nosuNGNG
VBAのlistboxの操作をいろいろしたいのですが、
Columnの使い方を教えて下さい。
0735デフォルトの名無しさんNGNG
ヘルプを見てください
0736デフォルトの名無しさんNGNG
いや、マジで質問のレベル低いぞ。
0737nosuNGNG
すみません。listboxに入っているある位置のデータを
別のlistboixの指定した位置にコピーしたいのですが
やり方を教えて下さい。
0738デフォルトの名無しさんNGNG
考えてください
0739デフォルトの名無しさんNGNG
>>738
そりゃひどいぞ
0740デフォルトの名無しさんNGNG
>>737
自分の使うコントロールのプロパティとメソッドくらい把握してください。
0741デフォルトの名無しさんNGNG
適当だけど
List2.AddItem List1.ItemData(Index1), Index2
こんな感じでよし。
0742nosuNGNG
VBAでJANコード別の売上金額を集計して更に
店舗別に商品ごとの売上集計をするものを作って
いるのですがlistboxのところでつまづいているので
わかるかた教えて下さい。
0743デフォルトの名無しさんNGNG
すっごく間違えた。
ItemDataぢゃなくてListね。
List2.AddItem List1.List(Index1), Index2
プププ
0744デフォルトの名無しさんNGNG
>nosu
質問の仕方が悪い。
現在どうなってて何をしたいのかが見えづらい。
MSDNのヘルプ見ればわかることばかりだ。
0745デフォルトの名無しさんNGNG
バイナリファイルの扱いについて質問です。
バイナリの入出力ってPut/Getを使うしかないですか?
2つのファイルを結合して1つのファイルを作ったり、その逆(分割)をしたいのですが。
VC++でDLL作って利用、みたいなことがネットに乗ってましたけど、もってないっす…
0746デフォルトの名無しさんNGNG
>>745
fopen
0747デフォルトの名無しさんNGNG
>>745
CreateFile あたりを調べてみるとよいのでは...
0748デフォルトの名無しさんNGNG
>>745
http://zero-city.com/fcs/vb.html
ここらへんは?
0749デフォルトの名無しさんNGNG
>>745
それもGetPutで出来るよ。
0750デフォルトの名無しさんNGNG
厨房質問で恐縮ですがコンボボックスのテキストに
フォーカスをTrueにしたいのですがどうしたらよいのでしょうか?
Defaultじゃ無理でした。
0751デフォルトの名無しさんNGNG
>>745
VB4.0の頃、PutとGetで作ったよ。
んなむつかしいもんじゃないよ
0752デフォルトの名無しさんNGNG
setfocus
0753デフォルトの名無しさんNGNG
>>751
VB4もUnicodeだっけ?
0754デフォルトの名無しさんNGNG
>>750
コンボボックスの特定の行を選択状態にしたいってこと?
フォーカスをTrueに出来るのはコントロールだけだよ。
0755デフォルトの名無しさんNGNG
>>753
どーゆー意味だ?
Unicodeに対応しているかってことか?
0756デフォルトの名無しさんNGNG
>>755
Unicode変換さえなければ、文字列変数がそのまま使えて楽ってこと。
0757デフォルトの名無しさんNGNG
>>756
まあ、ファイルの分割/連結ぐらいなら、素直に Byte 型使うんじゃない
かと...。
0758デフォルトの名無しさんNGNG
>>757
まあ、そうなんだけど。
大きなファイルだと遅くなるから、CのDLL使うわけで。
0759745NGNG
レスしてくれた方々ありがとうございました。
数メガ単位のファイルを結合するのでやたら遅い気がして…(実装が悪いのか)
あ、別に怪しいソフトを作ってるわけじゃないですよw
0760749NGNG
>>759
ファイル処理はどの言語でやっても早さは大して変わらん。
HDDの速度のほうがずっと遅いから。

どうしても早くしたいならキャッシュを使ったりするんだけど、そこでなら
VC++の方が少しは早くできるかな。でも大して変わらんだろうな。
OSにもキャッシュ機能付いてるから時間の無駄か。
0761デフォルトの名無しさんNGNG
フレキシブルグリッドの複数選択したセルをドラッグアンドドロップ処理ってできますか?
私はいろいろやったけどできませんでした。
やったことあるって人やこうすりゃできるって思った人、教えてくれませんか?
0762デフォルトの名無しさんNGNG
>>759
ファイルマッピングをすれば多少は早くなるかもとか言ってみるテスト。
0763デフォルトの名無しさんNGNG
こっちが最新スレだよage
0764デフォルトの名無しさんNGNG
あるフォームと、あるフォームの辺をくっつけて、
どちらかを移動させると、2つのフォームが同時に
移動していくみたいな良い方法知りません?
0765まとれす ◆mato./AI NGNG
>>764
WM_MOVINGを処理して、移動処理を書くしかないな

#どうも、うちのプロバイダから書き込みができなくなったようだ。そのうち来れなくなるかもしれん
0766デフォルトの名無しさんNGNG
>>764
Timer使って監視する方法が初心者向け。
0767VB初心者NGNG
これが初心者質問スレか…
レベル高いな…
0768761NGNG
あの、ドラッグするとコントロールの大きさの線が出ますよね?
あれって消したりできるんですか?
0769デフォルトの名無しさんNGNG
モニターの電源ボタンを押せば消えます
0770デフォルトの名無しさんNGNG
>>765
串使ってもダメ?
スレ盛り上げ最大功労者の1人なのに。


0771ななしNGNG
>>764

>>765のまとれす氏のが正解。(実際、やったことあり)

でも、サブクラス化は、正直、かなり危険。
0772デフォルトの名無しさんNGNG
>>767
中級者質問スレが無いせいもある。
出来たとしても廃れるのが確実だということもある。
0773バナナマンNGNG
VBプログラマーの実務ではどういうものが一番需要があるのですか?
ネットワークですか?データベースですか?
私はグラフィック関係(サークルやラインなど)がかなり苦手なのですが,
これはちょっとやバめですか?
0774まとれす ◆mato./AI NGNG
>>767
そうだな。正直中級以上の質問も多いと思う。だが、初心者には、自分の質問のレベルが
どの程度かわからんだろう

>>768
普通はコントロールに任せてるから、自分で描画するのは大変だと思うぞ

>>770
今は、批判要望非難板で紹介されてた串を使ってる、しかし、いつ使えなくなるのかわからん

>>771
確かに、サブクラス化は危険が伴う。ウィンドウメッセージについてきちんと理解していないと
難しいし、デバッグもしづらいからな。しかし、VBでできないことをやりたいなら、理解しておいた
法がいいな
0775まとれす ◆mato./AI NGNG
>>773
結局、その会社によるわけだが、俺の経験上データベースに接続するフロントエンド、
ってのが一番多いと思うぞ。データベースは、Accessに始まって、SQL Server、Oracle
あたりが多いな

ネットワークは、今のインターネット時代にあわせて、ちょこちょこ接続するとか、メールを
送るとかいった機能が求められることがある

グラフィック関係は俺も苦手なんだが、実のところ、仕事では一度も使ったことがない。
大体、画像表示とかで済んでしまうしな

この辺を考慮すると、VBで開発する上でVB以外で役立つ知識としては、

 1. データベース(SQL)
 2. C(APIやったり、DLL作ったり)
 3. ネットワーク(HTTP、FTP、SMTPとかの基本な)
 4. その他

って感じじゃねーか
0776デフォルトの名無しさんNGNG
VBでメモリークリーナーをつくりたいんですけど

Dim AAA() as Byte

Redim AAA(開放するメモリ量)
Erase AAA

が、VBの限界ですか?
0777デフォルトの名無しさんNGNG
>>776
(゚Д゚)ハァ?
0778デフォルトの名無しさんNGNG
>>777
確かにw
0779デフォルトの名無しさんNGNG
>773
VBメインな会社ならほぼ間違いなく業務システムを手がけているはず。
だから、やっぱデータベースでしょ。
VB(VBA)+SQLはセットと思っておいた方がいいと思う。
0780776NGNG
>777
>778
何かおかしいですか?
一応空きメモリは増えてるみたいですけど・・・
0781デフォルトの名無しさんNGNG
>>780
気のせい
0782デフォルトの名無しさんNGNG
>>776
そんなんシェアで公開するなよ。
どっかの馬鹿シェア作家みたいになるぞ。
0783776NGNG
GlobalMemoryStatusで処理の前後の値を見比べて
値が増えていても気のせいだと?
0784デフォルトの名無しさんNGNG
>>776
あなたの限界。つーか仕組み分かってる?
0785776NGNG
>784
いやよく解ってないから質問したんだけど、
GlobalAllocとGlobalLockでメモリブロックの先頭アドレスとって
0で埋めれば良いのでは?
0786デフォルトの名無しさんNGNG
>>785
VBでもAPIは使えるよ。
0787デフォルトの名無しさんNGNG
>>785
とりあえずメモリの解放と掃除するっていう意味を調べてからもどってらっしゃい。
ttp://hp.vector.co.jp/authors/VA017832/mclean/doc/faq_answer02.html#q63
0788776NGNG
>786
APIを使うとこまではいったんですけど、
メモリブロックの先頭アドレスを取ってからが…
ポインタが使えないのでAPIでやるのはあきらめたんですが…

>787
見てきました。サンクス。
いたずらに大きな変数を作ってもダメって事ですか、
VBでは無理なんですか?
0789デフォルトの名無しさんNGNG
>>788
varptrでポインタ
ByvalでなげればPcharと同じ動き
配列のアドレスはarr(0)で投げる
0790デフォルトの名無しさんNGNG
いったいなんの意味があるんだよ。ばかじゃねーの
0791776NGNG
>789
悪戦苦闘中です。varptrは変数のポインタを取るんじゃ…
やっぱりCで組まないとダメですかねぇ…
0792デフォルトの名無しさんNGNG
VBから使える素敵なフリーのエディタコンポーネントってないですか?
標準のTextBoxは64K(32K?)の編集容量制限があるし、
RichTextBoxはバグ満載だったりNT,2K,XPで不具合があったりと問題が多いみたいなので。
0793デフォルトの名無しさんNGNG
近い将来MSがVBから手を引くという噂は本当ですか?
0794まんこ(反VIA協会)NGNG
>>792
あきらm(以下略
0795VBA(EXCEL)NGNG
こんばんわ すごく単純なことかも知れませんが
Userformを作成した時に 必ず出てきてしまう 
終了ボタン(右上の×マーク)を無効にする方法ってありませんでしょうか??
又は、表示させないとか 押された時の処理をする Sub の作り方等々
インターネットで検索しても”これだ”という回答が見つかりません。
0796768NGNG
>>774
そっか、自分で描画するのは大変なのか・・・
あきらめようかなぁ。
0797デフォルトの名無しさんNGNG
unloadのcancelをtrueに
0798デフォルトの名無しさんNGNG
>>795
なんで、クローズボックス無効にしたいのか良くわからないんだけど...。
その手のボタン (=最大化、最小化、閉じる と システムメニュー) を全部無効
にするなら...

Option Explicit

Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal uFlags As Long) As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Private Const HWND_TOP As Long = 0
Private Const SWP_NOSIZE As Long = &H1
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOZORDER As Long = &H4
Private Const SWP_FRAMECHANGED As Long = &H20

Private Const SW_SHOW As Long = 5

Private Const GWL_STYLE As Long = -16
Private Const WS_SYSMENU As Long = &H80000

Private Sub Form_Load()
  Dim WindowStyle As Long
  Const ChangeBit As Long = WS_SYSMENU

  Call SetWindowLong(Me.hWnd, GWL_STYLE,_
    GetWindowLong(Me.hWnd, GWL_STYLE) And Not WS_SYSMENU)
Call SetWindowPos(Me.hWnd, HWND_TOP, 0, 0, 0, 0,_
    SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOZORDER Or SWP_FRAMECHANGED)
Call ShowWindow(Me.hWnd, SW_SHOW)
End Sub

でできるよ。(お約束だけど、エラーチェックしてないからね。)

単に、終了させたくないだけなら >>797 の方が安全で確実。
0799VBA(EXCEL)NGNG
>>797,798
ありがとうございます。
ACCESSのDB使っているんですが、クローズボックスで終わらされると
DBクローズのステップを踏まないので終わってしまうんです。
ちと組み方が間違えている感じがするのですが よく判らないので
だったら、クリックできないようにしてしまえ と考えたのです。
やってみます。
0800798NGNG
>>799
DB クローズ処理ってどこに書いてます ? Form.Unlaod, Form.QueryUnload
もしくは Form.Terminate に書いてあれば、クローズボックスで終了された時も
実行されるはずだけど...。個人的には、>>798 みたいなやり方は、どうしても
それが必要な時に限るべきだと思う。
0801VBA(EXCEL)NGNG
>>800
普通の sub の中で書いています。

rs1.close
rs2.close
unload userform1
unload userform2

という感じです。
いままで、DB使ったことなかったので 終わったら終わったでかまわなかった
ですが、
ありがとうございました。
0802デフォルトの名無しさんNGNG
>>795
http://www.gwork.com/magazine/issue/vb0008.htm
僕はこれ使ってます。
いや、つーか>>797さんの方法と同じなんだろうけど。
とりあえず・・・ね。
0803デフォルトの名無しさんNGNG
VBで作ったプログラムをコンパイルしてexeファイルを作ったところ、約170KBになりました。
これをもっと小さくする方法ってありますか?
0804 NGNG
>>801
ExcelのUserFormですよね?
でしたら、Visual Basic エディタでUserFormにQueryCloseイベント
を追加し、その中でDBをクローズするようにしましょう。
0805デフォルトの名無しさんNGNG
>>803
漠然としすぎ。
0806デフォルトの名無しさんNGNG
UPX使えばいいと思う。
0807デフォルトの名無しさんNGNG
圧縮すればいいと思う。
0808デフォルトの名無しさんNGNG
たぶん初心者によくあるFAQです

VBはごぶさたでしたのでひさしぶりにやってみたら
HTMLに慣れすぎたのでVBに帰ったら唖然…
色を自在につけたテキストをクリップボード選択コピーしたいのですが
リッチは使いません(ActiveXはサイズが大きくなるし以外に融通きかないし)
どんな手がありますでしょうか?
ピクチャーBOXにPrintで書いたテキストだめだよね?
何がしたいかというと…HTMLソーステキストを分析して色づけしたいのです
あ”テキストBOXで読ませてから書けば??<今思い出した…
その手ですか〜?
なんかムダのような…
テキストBOXサイズ制限あるし…
やはり色表示テキスト自体コピぺできるように…
ああHTMLに毒された…プログラ失格…鬱だ


0809デフォルトの名無しさんNGNG
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| つよい電波がでています |
|____________|
               /
              <
             / ビビビ
        \_\_\
   _     \ \ \
  /||__|∧   __|___
 (O´∀`)  | |::::::::::::::::::::::|
 (つ   つ/ |::::::::::::::::::::::|
 / ̄ ̄ ̄≡ .|;;;;;;;;;;;;;;;;;;;;;:|
 |        |::::::::::::::::::::::|
0810808NGNG
うう鬱だ その強さ
電磁シールドがない
0811デフォルトの名無しさんNGNG
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 電波を感知しました。 |
|__________|
              / /
              /
      _         ビビビ
     /||__|∧    /
  。.|.(O´∀`) /
  |≡( ))  ))つ
  `ー| | |
    (__)_)
0812デフォルトの名無しさんNGNG
なんか最近意味不明な質問多いな。
0813ななしNGNG
>>803

>>805氏のおっしゃるとおり、漠然とし過ぎ。
機能(FP?)に比してコードが長過ぎる、というのであれば、作り方がヘタクソな公算が大。
適切に構造化すべし。
0814デフォルトの名無しさんNGNG
>>803
Pコードでコンパイルすればいいんでは
0815デフォルトの名無しさん NGNG
今、ゲームプログラムを作っているのですが、
UnloadやEndステートメントを使ってプログラムを停止させても、
Windowsが解放してくれないらしく、その後そのexeファイルが
削除・上書きなどの操作を受け付けなくなってしまいます。

(エラー:このファイルはWindowsが使用しています)

プログラムの状況は、
・メインフォームが一枚、その上にピクチャボックスが一枚
・ピクチャボックスにCompatibleなメモリBMP・DCが5枚(Unload時にに解放)
・mciSendStringで実行中はBGMを鳴らしている(Unload時に停止)

他に思い当たる節が無いんです。
詳しい方どうかご教授お願いします。
0816デフォルトの名無しさんNGNG
App.PrevInstance
0817デフォルトの名無しさんNGNG
>>816

?
0818デフォルトの名無しさんNGNG
>>815
どっちにしろ何か解放し忘れてるか処理を終わらせてないんだよ。
0819デフォルトの名無しさんNGNG
>>815
ウィンドウが消えているだけで、プロセスが残っているということはありませんか。
タスクマネージャからプロセスを確認してみてください。
0820デフォルトの名無しさんNGNG
2つの画像を左右にくっつけた状態で、
1つの画像として表示・保存させたいのですが、どのようにすれば良いのでしょうか?

画像を重ねる必要はなく、単に横に並べてくっつけるだけです。
0821デフォルトの名無しさんNGNG
>>815
>mciSendStringで実行中はBGMを鳴らしている(Unload時に停止)
停止?
クローズじゃなくてか?
0822デフォルトの名無しさんNGNG
>>820
初心者用:PictureBox追加、PaintPictureで描画、SavePictureで保存
中級者用:GetDIBitsでデータ取得、SetDIBitsで表示、自前で書きこみ

好きなほうでどうぞ。
0823デフォルトの名無しさんNGNG
VBでYAHOOメッセンジャーを制御したいんですけど
例を出すとVBで他のアプリのコマンドボタンを押し続ける処理って開発可能ですか?
もし可能ならどんなAPIを使うのでしょうか?
0824デフォルトの名無しさんNGNG
>>823
VBならSendKey、APIなら直接メッセージ送るかKeybd_eventだな。

使い方はMSDNでよろしこ。
0825820NGNG
>>822
早い返事、ありがとうございます。

初心者用の方法で試してみました。
特に問題なさそうですので、この方法を使ってみます。
0826  NGNG
質問なのですが、
本に載ってるコードを使ったり、HPに載ってるコードをほぼ、丸写しして、
そのコードが含まれたプログラムを作って、それをHPに置くというのは違法でしょうか?

あるいは、フリーウェアならOKでシェアウェアならNGとかあるのでしょうか?

よろしくお願いします。
0827デフォルトの名無しさんNGNG
>>826
使ってOKって書いてるならOK。書いてないならダメ。
0828826NGNG
>>827
即レスありがとうございます。
そうしたら、パクリはほぼダメってことですね。
(コード使ってもいいって書いてあるのが少なかった)

自分なりに書き直したらいいのかな?
0829827NGNG
>>828
とは言ったものの、実際コードパクっても見分ける方法なんて無い。
HPに置いてるなら公開している方もその辺分かってるだろうし。

使ってもいいと思うよ。

#俺はあんまりそのまま使わんけど、めんどくさい時は丸写ししちゃう。
0830826NGNG
>>829
レスありがとうございます。
プログラム作ったはいいが、ちょっとそれが引っかかったので、

ありがとうございました。
0831ななしNGNG
>>826-830

転載、流用の是非は、作者が意思表示しているはず。
不明であれば、問い合せるべし。(スジを通すのであれば)

パクリOKなら、どんどん有効活用すべし。(技術は「盗む」もの)

ただし、他人のものをパクるときは、内容をよく理解し、完全に自分のものに
してから使うこと。
(内容が理解できない「呪文」状態では、メンテできないので)
0832デフォルトの名無しさんNGNG
enumってLongだけだっけ?
0833_NGNG
質問ですずうずうしいですがすみませんよろしくおねがいします。
指定した座標の色を取得したいのですがどなたかわかる方いらっしゃるでしょうか
私でもわかるように教えてください。

と教えて君やるぐらい知りたいから教えれ。
0834デフォルトの名無しさんNGNG
>>833
GetPixel
指定された座標のピクセルの RGB (赤、緑、青) 値を取得します。

COLORREF GetPixel(

HDC hdc, // handle to device context

int XPos, // x-coordinate of pixel

int nYPos // y-coordinate of pixel

);



パラメータ

hdc

デバイスコンテキストのハンドルを指定します。

nXPos

色を取得するピクセルの x 座標を、論理単位で指定します。

nYPos

色を取得するピクセルの y 座標を、論理単位で指定します。

戻り値

関数が成功すると、RGB 値が返ります。現在のクリッピング領域の外側の座標が指定されたときは、CLR_INVALID が返ります。

解説

ピクセルは、現在のクリッピング領域の内側になければなりません。

すべてのデバイスが GetPixel 関数をサポートするわけではありません。GetPixel 関数がサポートされているかどうかを調べるには、GetDeviceCaps 関数を使ってください。

対応情報

Windows NT: バージョン 3.1 以降
Windows: Windows 95 以降
Windows CE: バージョン 1.0 以降
ヘッダ : wingdi.h 内で宣言
インポート ライブラリ : gdi32.lib を使用
0835デフォルトの名無しさんNGNG
ガイシュツだったらスマソ。
VBデザイナの「ウィンドウ」メニューのさ、
「上下に並べて表示」、「左右に並べて表示」の対応Altキー。
「上下」が「V」で「左右」が「H」の間違いじゃない?
俺のデザイナだけ?
0836デフォルトの名無しさんNGNG
>>835
あ、ほんとだね。
0837_NGNG
>>834
サンクス。やってみる。
0838デフォルトの名無しさんNGNG
>833
Pointメソッドじゃダメなんか?いや別にAPIでもいいけどね。
0839833NGNG
くはぁっ
確かに教えてもらったGetPixelで取得はできますた。
けどこれだとWindowsのどこからでも色を拾う事が出来ないんじゃないのか?
いや俺が無知なだけならスマンけど。hdc設定しなくちゃいけない所らへんでそう思ったのだが。
0840833NGNG
念のためage
0841デフォルトの名無しさんNGNG
>>839
GetDCも使え。
0842デフォルトの名無しさんNGNG
Excel VBA で、C の popen のようなことは出来ますか?
ヒントだけでもお願いします。Excel 2000 です。
0843826NGNG
>>831
レスありがとうございます。
意思表示が微妙なのが結構ありまして、
ダメ、とは書いてないが、いいとも書いてない

内容は今勉強中だから、片っ端からMSDN使うときも多いです。
それでもわからないことが時々、、

れすありがとうございました。
0844ななしNGNG
>>843

がんばってください。
0845デフォルトの名無しさんNGNG
誰か教えてください。VBでの質問が2つあるんです。
1.ウィンドのタイトル取得の仕方。
2.スペースキーを押し続ける処理の仕方です。
私の考え方は、1.はユーザーに入力させる。
2.は無限ループでスペースキーをシステム側に送る処理です。
合ってますか?
0846デフォルトの名無しさんNGNG
>1.ウィンドのタイトル取得の仕方。
自アプリのウィンドウならCaptionプロパティ
他アプリのウィンドウならGetWindowTextあたりのAPI。

>2.スペースキーを押し続ける処理の仕方です。
押しっぱなしにするのか連打するのかどっちだ?
それとスペースキー押下を受け取るのは自アプリか他アプリか?
ちょっと前にもでてるけど、SendkeysかKeybd_event()APIか
あるいはメッセージ送るのいずれかだな。
0847デフォルトの名無しさんNGNG
>>842
何をするのだ?
0848デフォルトの名無しさんNGNG
マウスで文字をかいたり線を引いたりするのは、MouseMoveイベントのところにかけば
いいのですか?それともDragOverですか?
0849デフォルトの名無しさんNGNG
>>848
両方やってみる
どっちがいいか自分で体得する
じゃないと身につかないよ いつまでも
0850デフォルトの名無しさんNGNG
>>848
まず両方やってみて、違いを覚えるほうが勉強になる。
0851808NGNG
今来ました
>>808ですけど だれか〜
ってこれってテキストエディタの作り方までいっちゃうから
面倒なのかな?
秀丸に聞くか(藁
0852デフォルトの名無しさんNGNG
>>851
808の文章がよくわからん。
0853808NGNG
ええ?
ノーマルのTEXTBOXでは色を1文字単位で色つけられませんよね
ただ表示するだけならフォームでもピクチャーボックスでも簡単に色づけ表示できますが
これではクリップボードのテキストコピペが使えません(グラフィックだもんね これじゃ)
そこをなんとか…
HTMLで色ばりばりに慣れすぎたかしらw
リッチテキストBOXだけは避けたいな

0854デフォルトの名無しさんNGNG
>>808
Clipboard オブジェクト使えばいいぢゃんかよぉぉぉ
0855848NGNG
>>849,850
・・・ですね。いろいろ試してみます。
0856808NGNG
>>854
あくまでテキストのコピペなんです
フォームやピクチャーボックスに表示したテキストは
グラフィックでしょう?
色は自由に使いたい+コピペしたい
です
これは…表示グラッフィックテキストと実テキストを別々に格納して
マウス操作を監視して クリップボードに叩き込むしかないかな
うわ!VBでカラーテキストエディタやろうとしてるよ
パフォーマンス×ぽいな
フォームにHTMLドキュメント貼れるようなのあったような!?
あれに自在にテキスト書けないかな?
なんだっけ?Internetコントロールが提供するクラスじゃなかったっけ?
英語リファレンス見るしかないのかな…また鬱だ




0857デフォルトの名無しさんNGNG
VBであるキーボードのキーを押し続けるなんて可能でしょうか?
ループで、あるキーを送るのでしょうか・・
0858808NGNG
>>857
Declare Function GetAsyncKeyState Lib "USER32" Alias "GetAsyncKeySatet" (Byval vKey As Long) As Integer

引数(ひっきー): vKey 調べるキーの仮想キーコード(VBのKeyCode定数でもよい)

戻り値:
 押されている=下位ビット0がON 押されていない=ビット0がOFF
 以前にこの関数を呼び出したあと キーが押されていたら 上位ビットがON
 そのアプリがキー入力を受けとれないとき 0(または押されていない)
integer型わかるね? まあ単純に 関数<>0でも 判定可
参考
第nビットのON、OFFを判定
値 and 2^n 
ONなら 0以外である

あれ?キーが押されてるか判定じゃないのか?
でもこれゲームにつかえるぞ VBのイベントはリアルタイムにはダメ
0859808NGNG
あ” 連続投稿スマソ
 Aliasの とこ スペルちがうわ
"GetAsyncKeyStatet"(×)→  staet→state そのままね
0860808NGNG
わ〜鬱だ! 
"GetAsyncKeyState" だ

もう鬱鬱・・・・
0861C屋NGNG
>>858
蛇足だがWIN32APIダイレクトのラッパーなら
Win95で読み取れないキーがあるよん。(MSDN参照)
0862デフォルトの名無しさんNGNG
てすと
0863デフォルトの名無しさんNGNG
日付計算で頭を悩ませています。

ある年月日のnか月前を表示したいのですが、以下の方法で試したところうまくいきません。

DateSerial(intYear, intMonth - n, intDay)

たとえば、3月30日の一カ月前をこの式で算出した場合、
2/27と出したいのに、
3/2と出てしまいます。
(おそらく、2/30→3/2ということだと思いますが)

なにか良い方法があるでしょうか?
ご存知の方、よろしくお願いいたします。
0864即レスNGNG
>>863
Dateadd
0865デフォルトの名無しさんNGNG
質問なんですが、
皆さん、INIファイルなどに設定を書き込むとき、変数のキーの値の型は何にされてますか?

stringなどの文字型のみしか書き込まないか、それとも
stringなどの文字型、integerなどの整数型を混ぜてるか、

integerで書き込むと数値を直接操作できて便利、
だけどキーが見つからないとき ""が返されて、型が合わなくなる、、、

皆さんの意見を参考にしたいので、よろしくお願いします。
あと、用語などが間違ってる&変かもしれませんが、柔軟にお願いします。
0866バナナマンNGNG
VBをつかってデータベースの処理をする場合でも基本的なコントロール
はかなり知っておかなければいけませんか?それともデータベースで使う
コントロールを重点的に知っておいた方がいいですか?
0867バナナマンNGNG
>>863
dateadd("m",-1,date)でいけるとおもいますが・・・・。
もしこれで駄目ならformatで日付を表示させたらいけると思います.
0868デフォルトの名無しさんNGNG
>>865
普通は文字列で読みこんでコードで変換するんでないの?
俺はiniファイルなんてほとんど使わんが。

>>866
後者で十分でしょ。
他のは必要になってからでも遅くない。
0869デフォルトの名無しさんNGNG
>866
データベースならSQL覚えれ。
SQL知らずにコントロール使う奴ってタチ悪いよ。
0870865NGNG
>>868
レスありがとうございます。
普通は文字列で読み込むんですか、なるほど、
コードのがややこしくなるけど、しかたないですね、それは

ありがとうございました。
0871デフォルトの名無しさんNGNG
StatusBarコントロールにProgressBarコントロール埋め込む方法が判りません!
IEのようにしたいんですけど・・・。
よろしくです。
0872863NGNG
レスありがとうございます。

DateAddで試したところアッサリできました^^
ありがとうございました!
0873デフォルトの名無しさんNGNG
asp内のVBScriptで悩んでいます。
<SELECT 〜
<OPTION 〜
でコンボボックスを作成して、いくつか項目を入れて選択できるように
したのですが、クリックして項目変更した際にそのタイミングで自分自身(asp)
に回帰して、自分にHTTPクエリか何か(get?)で選択したOPTIONのVALUE値を含めて
返したいのですが、方法はありますでしょうか。
解る方お知恵をお貸し下さい...O=(_ _;;;
も、もしかしてJavaScriptでないと...
0874デフォルトの名無しさんNGNG
>>873
onClickかonChangeか忘れたけどイベント拾って
自分自身のURLに値くっつけてHTTPクエリでおくりゃいいじゃん。
自分自身にはそのHTTPクエリが存在するときの処理を書くと。
0875874NGNG
>>873
あ、そういう意味が判ってないのかな?
クライアントサイドスクリプトじゃないとだめ。

つか、俺 >>871 なんだけど誰か教えてくれぇ〜
0876デフォルトの名無しさんNGNG
御返事ありがとうございます。>874氏
クライアントサイドスクリプトとかいう言葉の意味すら解らないアフォですので、
至らない部分があったらごめんなさい。
今調べてきましたが、基本的に「サーバーサイドスクリプト」で組み立てるつもりです。
その場合、↓(コピペですが)
SELECT NAME="menu1" onchange="location.href=this.options[this.selectedIndex].value;"
とかでも行けますか?
これはjavaScriptじゃないと介錯しましたが、これでいけるようなら万々歳です。
これから試してみます。
ありがとうございました。
0877デフォルトの名無しさんNGNG
>>871=875
http://www.google.com/search?q=%83X%83e%81%5B%83%5E%83X%83o%81%5B+%83v%83%8D%83O%83%8C%83X+%95%5C%8E%A6&hl=ja&lr=
これじゃいかん?VC++が多いけど。
0878874NGNG
ドキュメントとして送信してクライアント側で処理されるスクリプト
箇所がクライアントサイドスクリプトね。
つか、画面上のテキスト表示を変えるだけとかのためのリロードだったら
クライアントサイドのみで書いた方がいいよ。
いちいち更新してたら操作する方も面倒だよ。
<script language="JavaScript" for="slc" event="onchange">
<!--
switch(this.value)
{
case "1":
document.all("comment").innertext = "1を選んだです";
break;

case "2":
document.all("comment").innertext = "2を選んだです";
break;

default:
document.all("comment").innertext = "許さんです";
break;
}
-->
</script>
<select id="slc">
<option value="1">1.マ板
<option value="2">2.プ板
<option value="3">3.その他
</select>
間違ってたらスマソ。
てか、VBScriptあんまり知らなかったりする。
0879877NGNG
>>871
http://www.remus.dti.ne.jp/~y-mac/teclib/staprog.htm
これもあったぞ。ちょっとあれだが。

俺がやるんなら直接描画するかな。やったことないけど。
0880874NGNG
>>879
イパーイありがと。
こう、埋め込まないと処理中にウィンドウサイズ変えられた時に
どうしてもズレちゃうんだよねぇ。
だからVBラボのはちょっと・・・
0881874NGNG
うーん、
StatusBarコントロールの
Panelsコレクションメンバの
Panelオブジェクトのハンドルってどうやって取得するのん?
0882デフォルトの名無しさんNGNG
あ、VBスレあったのね・・・(´Д`;)

質問なんですが、フォルダ内のファイルの数とファイル名をリストアップ
するにはどうしたらいいでしょうか(´Д`;)?
0883即レスNGNG
>>882
Dirと再帰関数。
0884すいません。かなり初心者ですNGNG
VB.netを使っていまして
左から全角文字の桁を2バイトとして読みたいのですが
MidBってコマンド(?)は.netでは使えないみたいなんです。
検索など使ってみたのですが、なかなかいい答えがありません。
どうすればいいか教えてください
0885デフォルトの名無しさんNGNG
うーむ・・・再帰使うのかぁ・・・
Dir使うって分かっただけでもありがたやー(´Д`;)
0886873NGNG
>874氏
ありがとうございます。JavaScriptまで書いてもらって...
アフォには874氏の質問答えられずスマソですが、
とりあえずそれ試してみます。
0887デフォルトの名無しさんNGNG
>>885
FileSysObject使ってみ
0888874NGNG
>>886
うぉ〜まだ居たのか(俺もか)
<%
 if request.querystring("selection") = "1" then
  response.write("リロードしました。")
 end if

 Dim buf
 buf = ""
 buf = buf & "<script language=""VBScript""><!--" & vbCrLf
 buf = buf & "Sub slc_OnChange()" & vbCrLf
 buf = buf & " Dim x" & vbCrLf
 buf = buf & " x = document.all(""cls"").value" & vbCrLf
 buf = buf & " Select x" & vbCrLf
 buf = buf & "  Case ""1"":" & vbCrLf
 buf = buf & "   window.navigate(""http://127.0.0.1/index.html?selection="" & x)" & vbCrLf
 buf = buf & " End Select" & vbCrLf
 buf = buf & "--></script>" & vbCrLf
 buf = buf & "<select name=""slc"">" & vbCrLf
 buf = buf & " <option value=""1"">オプション1" & vbCrLf
 buf = buf & "</select>" & vbCrLf
 response.write(buf)
%>
てな感じでしょ?
俺はもう帰宅するぞ!
0889874NGNG
訂正
> buf = buf & "Sub slc_OnChange()" & vbCrLf
buf = buf & "Sub_slcOptions_OnChange()" & vbCrLf

> buf = buf & "<select name=""slc"">" & vbCrLf
buf = buf & "<select id=""cls"" name=""slcOptions"">" & vbCrLf
0890874NGNG
あ゙〜!もう訂正の訂正!
>> buf = buf & "Sub slc_OnChange()" & vbCrLf
> buf = buf & "Sub_slcOptions_OnChange()" & vbCrLf
buf = buf & "Sub clsOptions_OnChange()" & vbCrLf

※動作確認はしてませんので他にバグがあるやも。
0891873NGNG
>874氏
うぉぉ、たっぷりありがとうございます。
まだ現在、教えてもらったもをふまえていろいろやってる最中です。
>まだいた
エヘエヘ,今日は終電ケテーイ
0892バナナマンNGNG
前から思っていたんですが,ここにおられるプログラマーさんは独学で覚えたんですか?
それともやっぱり学校かなにかで教えてもらったんですか?
0893ななしNGNG
>>892

技術は「盗む」もの、とだけ言っておこう。
(オレの言葉じゃ説得力ないけどね)
0894デフォルトの名無しさんNGNG
>>893
せっとくりょくないですね(w
0895教えてください..NGNG
Visual Basic .NET Standard ってSQL言語使えるのでしょうか??
アクセスのDBからデータ取得、表示を行いたいのですが

0896まとれすNGNG
>>792
何がしたいのかわからんが、それらの関数ならVBから使える。すぐに、
「Cでないと」というのはどうかと思うぞ

>>792
日本では見かけたことがないな。EmEditorのコンポーネントは、昔フリーだったんだが
今は有料だしな

>>793
MSのファーストランゲージは、C#になった。あとは、C#が成功するかどうかだな

>>826
転載にきびしいところもある。トラップをしかけてるところもな。気をつけた
方がいいぞ

>>832
そうだ

>>842
何がしたいのかよくわからんが、パイプではだめか?

>>857
keybd_eventでは、押下とリリースが送れる

>>881
SPYで見てみたが、パネルはハンドルを持ってない。プログレスバーから
位置を指定するしかないな。SetParent()するサンプルを見かけたことがあるぞ

>>882
VBらしい方法なら、Fileリストボックスのアイテム一覧と、Countプロパティだな

>>892
基本的に独学だ

>>895
まだ出てないのでわからんが、System.Data.OleDb を使えばいいわけなんで、
たぶん大丈夫だと思うぞ

0897まとれすNGNG
@ITのVB.NET記事について言わせてくれ

基本的に、あの川俣ってやつは、VBがわかってないな。それは、Dateの問題で
突っ込まれたとおりだ

本気でメールを書こうかと思ったが、あれ以外にも3つ4つ気になるところや
おかしなところがある

奴はBASICがわかってる、ってだけで書けると思ったのかもしれないが、
大きな間違いだな。よっぽど、NothingButの方がよくわかってる

あれなら、俺が書いたほうがまだましだ
0898デフォルトの名無しさんNGNG
>>884
System.Text.Encodingを使えばOK。
0899デフォルトの名無しさんNGNG
>>892
俺は学校でプログラミングを覚える選択肢がある今の時代がスゴいと思うな。
0900899NGNG
このスレで答えてるヤツって俺の他に数人しかいないのか?
と俺の書き込み履歴を見てふと思った。

#関係ないのでsage。いつもsageだけど。
0901まとれす ◆mato./AI NGNG
>>900
実際のところ、どこのコミュニティでもそんなもんだ。何人かの答えるやつと、
その数十倍の質問者、さらに数十、数百倍のROM

質問するやつがいなければ、そのコミュニティは廃れていく。PCDNのようにな
0902826NGNG
>>896
レスありがとうございます。
結構他人のコードを参考にするんですが、トラップとは具体的に
どのようなものでしょう?
コードをパクると、不安定になったり、おかしな動きをすることでしょうか?
それとも、著作権云々で言ってくるのでしょうか?
0903デフォルトの名無しさんNGNG
コンボボクースを展開して、DELキーで消すには、どのイベントでどうやれば良いっすか。
そう、ちょうどIEのオートコンプリートの値を消すかのように。
0904まとれす ◆mato./AI NGNG
>>902
ここで言う「トラップ」ってのは、ソースコードに、普通使わないような書き方を忍び込ませて
おく、ってことだ。変数名を変えたり、コードのコメントを削除したぐらいじゃ、すぐに見破ること
ができる

>>903
イベント自体はKeyDownでいいが、かなり面倒そうだな。特に、リストを開いた状態だと、何の
イベントも発生しないし。

と思って、ちょっと試してみたが、KeyDownイベントで、Delキーが押されているか判定して、
CB_GETCURSELでインデックスが取得できた。後は、削除すればいいな
0905デフォルトの名無しさんNGNG
>>902
>ここで言う「トラップ」ってのは、ソースコードに、普通使わないような書き方を忍び込ませて
>おく、ってことだ。変数名を変えたり、コードのコメントを削除したぐらいじゃ、すぐに見破ること
>ができる

回答するサンプルにトラップを入れておくとかはよくあるが、
他人のソースコード三昧のソースコードを自作のようにソース公開する馬鹿がいるのか?
それともコードの書き方からEXEファイルのバイトの並びまで予測できる?

>>900
単発のやつも数えるとそれなりにいると思われ。
0906まとれす ◆mato./AI NGNG
>>905
>他人のソースコード三昧のソースコードを自作のようにソース公開する馬鹿がいるのか?
これは確実にいる。こういうと、被害者意識が強い、とか言われそうだがな。その話を聞いて、
実際に見てみると変数名を変えただけで、まんまパクリだった、ってことがある

とある有名サイトのソースコードが、海外サイトのパクリだったりな。まあ、これらの話は、完全に
クロと言える訳じゃないし、誰が、とか、どこのサイトが、ってのは止めておこう
0907 NGNG
漏れもTipsソースを公開したりしてるけど、人マネや既存ネタは
痛いので滅多に見かけないものだけ載せたりしてる。だから、数
少ないよ。
見た目にぎやかにするために、コードサイトのパクろうとか考えた
こともあったがイタイので止めた(w
今は、極端にオフォらしいソースとか、イケナイ事だらけのソース
とかを公開しようかと思ってる(w

本のサンプルだが、「やっつけ仕事」なんが多いね。
あの手のは、一番初めに掲載するサンプルのネタだけ上げて、あとは
締め切りまでになんとか・・・・って感じのが多いのだろう。
だから、たまたまでも1回動作するばOKなんてレベルなのでは。

まぁ、本とか雑誌のサンプルをそのまま利用するのはDQNってのは昔から
言われてることだが。
0908デフォルトの名無しさんNGNG
某VB有名人がMSDNのサンプルを1箇所だけいじって、著作権を
主張してたのには驚いた。自作かどうか忘れるものなのかなあ。
0909デフォルトの名無しさんNGNG
公開しなけりゃいいじゃんかw
ハイ オレはできますって BASICのコードでいばっててもな〜
そんなだから Perlスクリプトでシェア出すバカも許しちゃうんだよ
0910デフォルトの名無しさんNGNG
>>908
晒しageきぼーん
0911デフォルトの名無しさんNGNG
>>910
VB界でかなり貢献されてる人なので、それは出来ない。
っていうか、あれ誰も気づかないもんかなあ。
有名なサンプルなんだけど。
もしかしてMSDNサンプルの原作者だったりして。
0912デフォルトの名無しさんNGNG
>>911
>MSDNサンプルの原作者
それは無敵だな。
0913ななしNGNG
>>911

> VB界でかなり貢献

イニシャルは、「矢」ですか?(W
0914ななしNGNG
>>897

その記事を知らないので、具体的にどのあたりが問題なのか、かいつまんで
説明してもらえるとありがたいのですが。
(川俣氏の名は、『日経ソフ○ウ○ア』で数回見た記憶がある程度)

> VBがわかってないな。

いかにもありそうな話だとは思います。
別の人ですが、プログラミング言語に関して複数の著書を出しており、そこそこ名の通った
テクニカルライターの書いたVBユーザー向けのアルゴリズム本を見たら、サンプルコードの
ほとんど(全部?)に Option Explicit がなく、驚いた記憶があります。(藁
0915すいません。かなり初心者ですNGNG
>>898さん
ありがとうございました
何とかやってみます。
0916ななしNGNG
>>914

自己補足。
「知らない」こと自体は別に恥ではない、というのが私の持論。
(全知全能の人間などいない)
まぁ、あまりにも基本的な素養が欠如してるのはどうかと思いますが・・・。

問題なのは、知らないくせに知ったかぶりする姿勢ですね。
特に、雑誌に記事を掲載したり、書籍を出すような立場の人間が、誤った
内容を断言口調で主張したりすると、社会的な(悪)影響が大きいだけに
タチが悪い。
0917デフォルトの名無しさんNGNG
知らない事は恥じゃないさ。だけど知ろうとしないのは恥。っつーか悪。
0918デフォルトの名無しさんNGNG
Withネストの中で、1つ前のWithを1回だけ参照する場合ってどうしてる?
With a
  With b
    With c
      .c1=0
      .c2=0
      ここでb.b1を参照したい。
    End With
  End With
End With

a.b.b1ってやるのはなんか嫌だ。でもそれしかないのかな。
0919俺はWith使わない派NGNG
>>918
てかよっぽどでないとwith使わない。←たまに判りにくくなる
それにそんなにネスト深くしない。←判りにくくなる
処理速度に関しては不明。
0920918NGNG
>>919
どうしてもWithつかったほうが分かりやすい時もあるんよ。
今やってるのはPSDファイルの読み込みだけど。

あのネストの深さは切れそうになるぐらいだ。
新しいフォーマットにしろよ、Adobe。
0921デフォルトの名無しさんNGNG
今日授業でこれ習った
#include <stdio.h>
main()
{
printf("(゚Д゚) C!!\nH\ne\nl\nl\no\n \nPressAnyKeyToContinue\n");

}
0922902NGNG
>>904
レスありがとうございます
コードを公開すると、パクリがばれるってことですよね
コンパイルしてしまったら大丈夫でしょうか?
ほかの方も参考になりました、ありがとうございます
0923デフォルトの名無しさんNGNG
>>920 そりゃ頑張れとしか言えないな(w

>>921 コンティニューしないだろ。
0924ななしNGNG
>>918

単独のWithならよく使うけど、ネストはちょっと抵抗(違和感)がある。
0925デフォルトの名無しさんNGNG
With使わないとこんなんになるんよ。

Get FileNo,,PhotoShopFile.Layer.LayerStruct.LayerInfo(0).LayerMask.LayerMaskInfo.DefaultColor

こんなん何回も書いてられない。( ´Д`)
単発Withにするとかえってごちゃごちゃするし。

俺も普段はWithのネストはしない方なんだが・・・
0926まとれす ◆mato./AI NGNG
>>913
それはイニシャルじゃないぞ

>>914
実際は読んでもらうとして、Debugの代わりにTraceを使ってるところとか、Option Strict
の導入に説明がないところとか、変な小技を使って最小値を作ってるところとかだな

VBは簡単、だから他の言語で記事が書ければ大丈夫、みたいな風潮があるんだろうな

>>918
どうしても、って言うんなら、

Set obj_ab = a.b
Set obj_abc = a.b.c
として、

With obj_abc
  .c1 = 0
  .c2 = 0
  obj_ab = 0
End With

だな。一時オブジェクトは、少しならいいんだが、多くすると追うのが大変なんで、あまり
使いたくないんだが

>>921
ほう、よかったな。しかし、ここはVBスレだ。VBで書き直すぐらいの努力はしろ。ちなみに、
そのコードには間違ってるところがあるぞ

>>922
コンパイルしたものをパクリだと判断するのはちょっと難しいだろう。だから大丈夫だと
思うぞ
0927デフォルトの名無しさんNGNG
質問おねがいしたいのですが
ステータスバーの文字の色を変える方法を教えてください。例えば赤色とか

sbStatusBar.Panels(1).Text = List1.ListCount

この中にプロパティを含めようと思ったのですが、colorなどのプロパティがありませんでした。
サクッとお願いします。
0928918NGNG
>>926
むう。そう来たか。

んー、ありがとう。考えてみる。
0929まとれす ◆mato./AI NGNG
>>927
ちょっと難しそうだな。オーナードローとかしてみるか?
0930デフォルトの名無しさんNGNG
>>927
そういや、ステータスバーの文字色変わってるのって見たこと無いやね。
0931デフォルトの名無しさんNGNG
vb4.0 + SQLServer6.5のシステムがあって
こんどSQLServerを2000にする事になりました
VB4.0で作成したプログラムの方で不具合とかあるでしょうか?

初心者なのでものすごく漠然とした質問ですがよろしくお願いします
0932デフォルトの名無しさんNGNG
>931
最近SQL鯖6.0→2000へのアップやったよ。
SQL文のチェックが厳しくなっているからそのへん注意。
先頭が数字のフィールド名はカギカッコで括らんとイカンとか、細々と変わってる。

0933デフォルトの名無しさんNGNG
>931
あとBooksOnlineの「バージョンの互換性」とか読んどくとイイ。
0934927NGNG
>>929>>930
レスありがとうございます。
オーナードロー、ちょっと調べてみます。
そうですか、プロパティか何かでサクッと簡単にできるものではないのですね
難しそうなのであきらめます。
簡単に変えられないことがわかったのでよかったです。

ありがとうございました。
0935931NGNG
>>932
>>933
さっそくのレスありがとうございます

VB4.0とSQLSerever2000というのがなんとなくひっかかるんですが
問題ないでしょうか?
0936まとれす ◆mato./AI NGNG
>>935
VB4だとRDOか? ODBCのバージョンとかには気をつけておいた方がいいな。最悪、SQLServer2000を
互換モードとかで動かすことを考えたほうがいいかもしれん

ANSI→Unicode変換とかも問題ないはずだし、それほどはまることはないだろう。って、32ビットだよな?
0937デフォルトの名無しさんNGNG
>>913
さすがに名前はまずいので、ソートということだけ。


0938デフォルトの名無しさんNGNG
Printer オブジェクトをつかって印刷してるのですが、
印刷する文字の色が変えられません。
Printer.ForeColor = RGB(192,192,192)
Printer.Print "テスト"
ってな感じなんですが、何が行けないのでしょうか。
つまり薄い灰色で印刷したいわけなんですが、
これだと真っ黒(RGB(0,0,0))状態で印刷されます。
0939938NGNG
あ、このバグやったんか・・・。
http://support.microsoft.com/default.aspx?scid=kb;JA;q255115
0940938NGNG
おお、うまくいった。
0941デフォルトの名無しさんNGNG
フォルダだけを選択できるようにするコントロールってないですか?
DriveとDirを使って指定する方法しか思いつかないのですが・・・
0942デフォルトの名無しさんNGNG
質問なのですが
ListBoxの表示し切れなかったときに出てくる、スクロールバーを違うコントロールの
スクロールと同期させる(2つのコントロールが同じようにスクロールする)方法って
ありませんか?あるいはListボックス同士か

それに近い情報でもいいんでよろしくおねがいします。
0943まとれす ◆mato./AI NGNG
ついに書き込みができなくなった。というわけで、ここから去ることにする。
いろいろあったが、みんな頑張ってくれ。さらば

>>941
SHBrowserForFolder()をキーに、サンプルを探してみろ
------
ここで依頼されました
http://mentai.2ch.net/test/read.cgi/accuse/1017213588/30-31
0944 ◆mato./AI NGNG
@@@@
(゜д゜)<あらやだ!
0945peng ◆9Pl8B3hA NGNG
うぷぷ
0946デフォルトの名無しさんNGNG
>>944
?

>>945
??
0947バナナマンNGNG
ラーニングエディションを使っているのですが,アクティブXのコントロールの仲で
Microsoft Data Bound Grid Control 5.0(Sp3)をコンポ-ネントダイアログから表示
させたいんですが,ダイアログボックスの中にありません。
このコントロールを使うにはどうしたらよいのでしょうか?ちなみに参照も見ましたが
ありませんでした.
0948デフォルトの名無しさんNGNG
>>942
ListBoxのScrollイベントを調べて見れ。
0949デフォルトの名無しさんNGNG
VBとVCにスレッド両方に書き込みましたが
「マルチポストうぜ〜」などと煽らずにマジレスしてください。

VBでファイルにバイナリアクセスする場合に
本にはバイト配列を使用して書き込むと書いてありましたが
どうやるんですか?
VCの場合はLONG型や浮動小数点型でもポインタを使って
バイト配列の一部にコピーしたりするのは簡単ですが
VBはポインタが無いのでどうやって変換して良いのか分かりません。
例えばLONG型(4バイト)と倍精度浮動小数点型(8バイト)を
12バイトの配列に格納する方法
逆に12バイトの配列からLONG型と倍精度浮動小数点型を抽出する方法教えてください。

0950デフォルトの名無しさんNGNG
マルチポストうぜ〜
0951デフォルトの名無しさんNGNG
>>941
まとれすの回答(APIのSHBrowserForFolder関数)以外には、
ShellオブジェクトのBrowseForFolderメソッド使うとかな。

.NETならFolderNameEditorクラスを継承したクラスを作って、
nitializeDialogメソッドをオーバーライドすればいい。
0952942NGNG
>>948
レスありがとうございます
List1のスクロールイベントを発生させるところまでわかりましたが、
List2にはHscrollのValueにあたる、スクロール値のプロパティがありません。
これはどうしたものでしょうか?

どなたか、連動して動くスクロールバーの作り方を教えてください。
0953デフォルトの名無しさんNGNG
C++ Builderにおいて、ディスクの空き容量を調べようと以下のようなコードを書いたところ、
「[C++ エラー] frmMain.cpp(51): E2015 '__stdcall GetDiskFreeSpaceEx(const char *,_ULARGE_INTEGER *,_ULARGE_INTEGER *,_ULARGE_INTEGER *)' と 'Sysutils::GetDiskFreeSpaceEx' の区別が曖昧」
といわれました、 このばあい、Sysutils::GetDiskFreeSpaceExを呼び出す方法はわかるのですが、
__stdcall GetDiskFreeSpaceEx(const char *,_ULARGE_INTEGER *,_ULARGE_INTEGER *,_ULARGE_INTEGER *)
を呼び出すにはどのようにすればよいのでしょうか?

よろしくお願いします。


void __fastcall TForm1::Button1Click(TObject *Sender)

{
// Show disk capacity and freespace
bool result;


ULARGE_INTEGER freespaceforcaller;
ULARGE_INTEGER capacity;
ULARGE_INTEGER freespace;




result=GetDiskFreeSpaceEx("C:\\",(ULARGE_INTEGER)&freespaceforcaller,
(ULARGE_INTEGER)&capacity,
(ULARGE_INTEGER)&freespace);
0954953NGNG
スレ間違った。スマソ
0955デフォルトの名無しさんNGNG
>>952
TopIndexやらNewIndexやら調べてみ。
0956942NGNG
>>955
レスありがとうございます
TopIndexやらNewIndexやらを調べてみました。
これはスクロールバーに関係なく、クリックしてスクロールさせる作戦でしょうか?
これはこれで役に立ちそうですね

ありがとうございました。
0957デフォルトの名無しさんNGNG
VBは、ロータスノーツと相性が悪いのでしょうか?
0958942NGNG
>>955
ああ、すいません、
List1.TopIndex = List2.TopIndex
にしたらスクロールしてうまいこといきました。
でも、LISTBOXのスクロールの速度が遅いので、もたついてしまいます
普通のすばやいスクロールにはできないのでしょうか?

ありがとうございました。
0959バナナマンNGNG
ラーニングエディションを使っているのですが,アクティブXのコントロールの仲で
Microsoft Data Bound Grid Control 5.0(Sp3)をコンポ-ネントダイアログから表示
させたいんですが,ダイアログボックスの中にありません。
このコントロールを使うにはどうしたらよいのでしょうか?ちなみに参照も見ましたが
ありませんでした.

0960デフォルトの名無しさんNGNG
>「マルチポストうぜ〜」などと煽らずにマジレスしてください。
なんでマジレスせにゃあかんのだ?
誰もおめーのくだらねぇ質問に答える義務はねぇぞ?
そのへんわかってねぇから叩かれるんだろ?小学生じゃないなら気付や。

>VCの場合はLONG型や浮動小数点型でもポインタを使って
>略
>逆に12バイトの配列からLONG型と倍精度浮動小数点型を抽出する方法教えてください。
基本的にVBではそういうことをする必要がない。
っていうかしてはいけないような言語仕様なんだよ。
(あくまでもVBという言語の仕様な。理由は自分で考えろ)
どうしてもそういうことをしたいなら、
(1)ユーザ定義型(Cで言う所の構造体)を使う。
(2)RtlMoveMemoryとかのAPIを使って転送する。
の2点が普通。
(1)は配列とかがあるときは注意が必要。(やってみればわかる)
(2)はCライクな考え方でプログラムが書けるが、VBらしさを殺すことになる。(困らんがなw)
ポインタというものがどういうものなのか解っていれば
DLLにどうやってポインタを渡すのかはヘルプ見ればわかるだろう。

まぁ前半はこの時間まで仕事やってるもんの愚痴だ。気にするな。
0961デフォルトの名無しさんNGNG
>>947
ラーニングには入ってないと思う。

>>949
LSETで出来ないかな。

0962デフォルトの名無しさんNGNG
変数の名前の中で変数をつかうことってできないんですか?
できるとしたらどうしたらいいんでしょう?

とりあえず、
option explicit
public party as integer
public TOTO(party) as integer

とか適当にやってみたら、
定数式が必要とか返されちゃって、
また適当にparty = 5 とかかいてみた
(option explicit内では無理だから、private sub_Lordの中とか色々試してみた。)
んだけれども出来ませんでした。
0963デフォルトの名無しさんNGNG
>>949
Hex関数で文字列化して2文字ずつ区切って、
それぞれに"&H"を付けてCByte関数をかませ。
戻すときはその逆。

>>962
動的配列を使いな。Redimをヘルプで調べてみ。
0964デフォルトの名無しさんNGNG
書き込みテスト
0965964NGNG
すまん、しばらく書き込めなかったから、書き込めないと思ったのに、
書き込めてしまった・・・。
0966デフォルトの名無しさんNGNG
>>963
どうもです。みてみます。
0967デフォルトの名無しさんNGNG
>>962
Const
0968デフォルトの名無しさんNGNG
VBでソフト作って公開しようと思ってますが、
FileSystemObjectを使っても支障はないですか?
(環境によって動かないとか…)
open や write などを使わないでFSOに統一したいのですが…
0969デフォルトの名無しさんNGNG
便乗質問ですが、

FileSystemObjectってファイルを扱う必要が出たときに
イチイチCreateObjectで作っては破棄…って使うんですか?

それとも、プログラムの初めに
 Set fso = CreateObject("Scripting.FileSystemObject")
ってやって、あとはそれを使いまわすんですか?
0970デフォルトの名無しさんNGNG
>>968
環境によって動かない。
Win95とかはWSH入れないとダメ。

>>969
両方可能。
0971968NGNG
>>970
なるほど、たしかにWSHいれてナイト動くはずがないですね。
どうもありがとうございました。
0972969NGNG
>>970
了解ありがとう
(ヨカッタ書き直す必要なくて…;−;
0973MC303NGNG
Private Subって、日本語で言えばどういう意味になりますか?
サルでもわかるように教えて下さい。。
0974デフォルトの名無しさんNGNG
>>973
「その関数が置いてある所でしか使えない関数。戻り値は無いよ。」

サル相手ならこんな感じになるかなあ。
0975バナナマンNGNG
アクティブXを呼び出す時にコンポネントダイアログを表示させた後に出てくる
一覧で、Microsoft Data Bound Grid Control 5.0(Sp3)と
Microsoft Datagrid Control 6.0 (OLEDB)の違いを教えてください.
あとVBでのデータベース処理を行う時に使うコントロールはどれですか?
0976デフォルトの名無しさんNGNG
>975

MSDNより。
>データ グリッド コントロールの機能は、DB グリッド(DBGrid) コントロールに似ています。
>ただし、非連結モードをサポートしていない点が異なります。

ヘタにコントロールを使うよりも接続、操作に関する手順を一通り学んだ方が早い。
ここで単発で聞くよか、それ系のページや本のほうが流れが掴めると思うが。
ttp://www.google.co.jp/search?q=VB%82%C5%83f%81%5B%83%5E%83x%81%5B%83X&hl=ja&lr=
0977デフォルトの名無しさんNGNG
どっちも全くやったことないのですが、
クラスとAPI、どっち勉強した方が良いでしょうか。
0978デフォルトの名無しさんNGNG
>>977
API
0979デフォルトの名無しさんNGNG
クラスとAPIどっちを・・って、
同列に考える物でもない気がする。
0980デフォルトの名無しさんNGNG
>>977
どっちかといえばクラス
0981デフォルトの名無しさんNGNG
>>977

APIのラッパークラスをつくれば、両方同時に勉強できるかと・・・。
0982デフォルトの名無しさんNGNG
>>977
結論。どっちもやれ。
0983デフォルトの名無しさんNGNG
>>977
くどいようだが、目の前にあるものは全部片付けろ。
0984名無しNGNG
質問です。
VBを覚えるのに一番おすすめの本はありますか?
ネットよりも本の方が使いやすいと聞いたのですが…
0985_NGNG
>>984
一番おすすめと言われても困るかもしれん。
どれが一番ってのは言いにくいし、個人的に好みあるだろうし。
俺が最初にやったのは「初めてのVisual Basic」みたいな本だった。
出版社とか覚えてねぇわ。全然答えになってなくてスマソ。

漏れも質問いい?
VBでIP調べる方法があった(現に昔使った)んだけど
どうやるんだっけ?簡単だったような気がするんだけどど忘れ・・・
0986デフォルトの名無しさんNGNG
>>985
VBでIP調べる方法

VBとは言えお前もプログラマなら専門用語くらい正しく使え。
0987デフォルトの名無しさんNGNG
>>984
ネットは何かを調べるのには便利だけど勉強するのは難しいだろうな。
きちんと分かりやすくまとめられているのは少ない。
ただ、本の方が言いかと言うと・・・良質な本は少なげ、特にVBは。

ちなみに一番いい情報源はMSDNライブラリ。
なれないうちは苦労すると思うけど付属しているヘルプぐらい
見れないようではプログラマ失格。
0988デフォルトの名無しさんNGNG
>>984
MSのStep By Stepでも買ったら?

0989デフォルトの名無しさんNGNG
>984
Excelを自動化したい、データベースを使いたい、ゲームを作りたい...
目的がハッキリすりゃ、それっぽいサイトや本も見つかる。
逆にいえば、ある程度目的を決めないとナニをやっても無駄。
0990985NGNG
スマヌ>>986

「VBで自分のIPアドレスを取得する方法」
これでどうですかね?
0991デフォルトの名無しさんNGNG
>>985
winsockcontrolwoharitukeru
0992985NGNG
>>991
どうも〜!
winsockコントロール、ですか。
そんなんだったような気もしないでも無いw
やってみま。
0993名無しNGNG
>>985,987,988,989様ありがとうございます〜。
目的はゲームを作ってみることです…
とりあえずテトリスかぶろっく崩しから…、
もちろんちゃんと勉強しながらやるつもりです。
では…
皆様にも幸あらんことを

0994デフォルトの名無しさんNGNG
127.0.0.1
0995デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1018794901/
新すれ勃ちました。
0996デフォルトの名無しさんNGNG
996
0997デフォルトの名無しさんNGNG
o
0998デフォルトの名無しさんNGNG
p
0999デフォルトの名無しさんNGNG
今だ!999ゲットオォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ
1000デフォルトの名無しさんNGNG
質問なのですが、、、
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。