(cache) v(・∀-)b VBプログラマ質問スレ(6.0以前) Part29
v(・∀-)b VBプログラマ質問スレ(6.0以前) Part29
- 1 名前:デフォルトの名無しさん :03/10/06 22:18
- VB(6.0以前)の質問スレです。
VB.NETの話題はできるだけひかえてください。
前スレはこちら
Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
Part22 http://pc2.2ch.net/tech/kako/1046/10463/1046354784.html
Part23 http://pc2.2ch.net/tech/kako/1047/10477/1047743187.html
Part24 http://pc2.2ch.net/tech/kako/1050/10501/1050151126.html
Part25 http://pc2.2ch.net/tech/kako/1052/10526/1052627913.html
Part26 http://pc2.2ch.net/tech/kako/1055/10551/1055145106.html
Part27 http://pc2.2ch.net/tech/kako/1058/10586/1058674927.html
Part28 http://pc2.2ch.net/test/read.cgi/tech/1061296197/
【VB.net関連スレ】
VB.net質問スレ (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1065269043/
【Win32 API関連スレ】
Win32API質問箱 Build14
http://pc2.2ch.net/test/read.cgi/tech/1065328397/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六. VB情報募集中。
七.VB.NETの話題できるだけひかえる。
- 2 名前:デフォルトの名無しさん :03/10/06 22:19
- Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
- 3 名前:デフォルトの名無しさん :03/10/07 09:18
- 乙
- 4 名前:デフォルトの名無しさん :03/10/07 18:50
- VB6のDHTMLデザイナ、使いにくい。
外部のHTML読み込んだんですが、イメージが表示されません。
イメージ格納フォルダの場所はどこにすれば?
・・・XP,VB6で開発してるとエラー出まくるんですけど(涙
- 5 名前:デフォルトの名無しさん :03/10/07 18:55
- >1 乙VB
- 6 名前:デフォルトの名無しさん :03/10/07 21:26
- おっと、こっちか。
(*´д`*)の方が好みだが、
誰だよ、わざわざスレ立てなおした香具師は。
- 7 名前:デフォルトの名無しさん :03/10/07 22:50
- 重複スレすまそ
byte配列と文字列を結合させる方法を教えてください。
例えば
このような文字列と、
Dim myString As String
myString = "-----------------------------7d21cef303f8" & vbCrLf & _
"Content-Disposition: form-data; name=""file0"";" & " filename=" & """" & g_TMPFilePath & g_SysFile & """" & "" & vbCrLf & _
"Content-Type: image/pjpeg" & vbCrLf & _
vbCrLf
このようなファイルから取得した画像データ(bytwork:byte配列)
ReDim bytwork(FileLen("c:\imagedata.jpg") - 1) As Byte
Call ReadFile(hFile, bytwork(0), FileLen("c:\imagedata.jpg"), outFileSize, 0&)
Call CloseHandle(hFile)
を結合させて、HTTP送信をしたいのですが、
Stringとbyte配列の連結のやり方が良く分かりません。
どなたか教えてください。
- 8 名前:デフォルトの名無しさん :03/10/07 22:54
- >>7
Stringの文字数カウントして画像ファイルのサイズ足してDimして
先頭に文字を入れ込んで
Call ReadFile(hFile, bytwork(文字数+1),・・・
- 9 名前:デフォルトの名無しさん :03/10/07 23:14
- つまり、
ReDim bytwork(Len(myString) + FileLen("c:\imagedata.jpg") - 1) As Byte
bytework = myString ←うそ臭い
Call ReadFile(hFile, bytwork(Len(myString) + 1), FileLen("c:\imagedata.jpg"), outFileSize, 0&)
こういうことですか?
- 10 名前:デフォルトの名無しさん :03/10/07 23:18
- >>9
>bytework = myString ←うそ臭い
1文字づつ入れていく
- 11 名前:デフォルトの名無しさん :03/10/07 23:21
- 文字列とbyte配列は相互に代入可能だよ。
- 12 名前:デフォルトの名無しさん :03/10/07 23:30
- >>11
試してみた?
- 13 名前:デフォルトの名無しさん :03/10/07 23:32
- とっくの昔に試した。
- 14 名前:デフォルトの名無しさん :03/10/07 23:36
- >>13
ということは、UNICODEが入る事もDimで確保したらエラーが出るのも
わかってて書いているんですね。
- 15 名前:7 :03/10/07 23:38
- 7ですが、
bytework = myString
これやると、VBもろとも落ちてしまいます。
一文字ずつ入れていくやり方を教えてください。
- 16 名前:デフォルトの名無しさん :03/10/07 23:52
- >>15
for i = 0 to len(myStringi)-1
bytework(i) = mid(myStringi,1)
ねくすと
#適当なので自信なし
- 17 名前:デフォルトの名無しさん :03/10/07 23:52
- >>16
あ、まちがってる。まあいいや。
- 18 名前:デフォルトの名無しさん :03/10/08 00:27
- For i = 0 To Len(b) - 1
bytework(i) = Asc(Mid(myString , i + 1, 1))
Next
かな
- 19 名前:デフォルトの名無しさん :03/10/08 00:35
- 書籍に載っている「簡易メモ帳」を打ち込んでいたのですがちょっと問題が発生しました。
よければアドバイスを。
いわゆるテキストファイルを読み込んで表示・編集・保存って奴です。
やや大きめのファイルを読み込むと「メモリ不足」と言われます。
ヘルプを見るとどうやら「Text1.Text」で表示できる容量が約32KBまでみたいです。
「Label1.Caption」に変更すると文字数の制限がないらしくうまくいきました。
となるとText1.Textでは表示できないと言うことになるのでしょうか?
以下にサンプルを明記します。
- 20 名前:19 :03/10/08 00:36
- Private Sub Command2_Click()
'変数の宣言
Dim openFile As String
Dim fileNum As Integer
Dim readData As String
Dim temp As String
'ファイルの読み込み
openFile = "D:\test.txt"
fileNum = FreeFile
readData = ""
Open openFile For Input As #fileNum
Do Until EOF(fileNum)
'データを一行ずつ読み込む
Line Input #fileNum, temp
'データの追加
readData = readData & temp & vbCrLf
Loop
Close #fileNum
'データの表示
Text1.Text = readData
End Sub
- 21 名前:デフォルトの名無しさん :03/10/08 00:38
- >>19
WIN9x系は制限がある。
リッチテキストでやるか、2000/XPでやるか、色々細工するか、
自作のコントロール作るか。
- 22 名前:デフォルトの名無しさん :03/10/08 00:51
- 自作のコントロールだと、どうやって作るの?
- 23 名前:デフォルトの名無しさん :03/10/08 00:52
- >>22
すべてグラフィックで書く。とても手間かかるけど。
- 24 名前:デフォルトの名無しさん :03/10/08 01:01
- >>15
落ちているのは次の行のはず。
バイト配列に文字列を代入すると配列は文字列の長さに調整されるからね。
- 25 名前:19 :03/10/08 01:06
- >>21
サンクス。
簡易メモ帳を作っていることからわかるように自作コントロールなんてまだまだ先です(笑
リッチテキストとはなんぞや?、で調べるのに時間がかかってました。
デフォルトでは表示されていないんですね。
上手くいきました。
- 26 名前:22 :03/10/08 01:12
- >>23
ドヒーーーー
- 27 名前:デフォルトの名無しさん :03/10/08 01:13
- >>22
ユーザーコントロールだな。ボタン2つとPictureBoxの組み合わせか。
クラスの勉強になるし。漏れはここからクラスに馴染んでいった。
- 28 名前:デフォルトの名無しさん :03/10/08 01:14
- ボタン二つよりも縦のスクロールバーだな。
- 29 名前:デフォルトの名無しさん :03/10/08 01:21
- テキスト2個のユーザーコントロールのモノを、配列でForm上に配置する場合、
コントロール間の移動はどうやればいいの?
- 30 名前:デフォルトの名無しさん :03/10/08 02:35
- html文章からテキストを取り出す用途で文字を置換したいと思い
検索したところreplace関数に突き当たりました。
でもこの関数はワイルドカードが使えないですよね?
用はタグを空欄にしたいのですが
replace(変数、"<タグ>"、"")ですべてのタグを消去するのはどうかと。
replace関数を使わない方が良いのですか?
何かよい方法があればご教授を。
- 31 名前:デフォルトの名無しさん :03/10/08 06:09
- >>30
ヒント。正規表現
- 32 名前:30 :03/10/08 08:57
- >>31
ヒントありがとうございます。
replace関数内で正規表現が使えると言うことですか?
それは試してみたのですが上手くいきませんでした。
別に設定してreplaceで置換するのかな?
- 33 名前:デフォルトの名無しさん :03/10/08 09:08
- 初歩的な質問させてください。
コンボボックスの内容を丸ごとリッチテキストボックスにコピーするには
どのようにすればいいでしょうか?
- 34 名前:デフォルトの名無しさん :03/10/08 09:13
- >>33
RichTextBox1.Text = Combo1.Text
- 35 名前:デフォルトの名無しさん :03/10/08 09:24
- >>34
ありがとうございます。
それは既に試したのですが、その書き方の場合は
コンボボックスに表示されている(一番上の)テキストだけが
リッチテキストボックスにコピーされました。
コンボボックスのすべての内容をコピーしたいのですが、
どのようにすればいいでしょうか?
- 36 名前:デフォルトの名無しさん :03/10/08 09:33
- >>35
For i = 0 To Combo1.ListCount - 1
RichTextBox1.Text = RichTextBox1.Text & Combo1.List(i) & vbCrLf
Next i
- 37 名前:デフォルトの名無しさん :03/10/08 09:42
- >>35
ぬぉぉ、ありがとうございます。
forで回すんじゃないか、とは思ってたんですが、
ListCountというのを知りませんでした。
知ってても思いつくまでに1日かかりそうですが^^;
大変助かりました。ありがとうございました。
- 38 名前:デフォルトの名無しさん :03/10/08 14:21
- 大学の卒論でVBを使ってロボットをシミュレートする事になったんだが
1 プログラムを全然組んだことがない俺でもできるか?
2 そもそもVBでロボットをシミュレートできるのか?
なんでVBで作らねばならないかというと
http://www.sun-mitec.co.jp/roboabotto.html
を実際に動かすのが命題でこのロボがVBにしか対応していないだろうということから。
卒業がかかっているので死ぬ気でやるつもり。
アソバイス求む(マルチで貼らせてもらいましたすみません、必死なんで)
- 39 名前:デフォルトの名無しさん :03/10/08 14:27
- > 1 プログラムを全然組んだことがない俺でもできるか?
しるか。
> 2 そもそもVBでロボットをシミュレートできるのか?
できる。つーかそのロボがVBに対応してるんだろ。
- 40 名前:デフォルトの名無しさん :03/10/08 14:53
- 「シミュレート」の使い方を間違ってるような気が。
あと付属サンプルプログラムはVB/VC/TCとあるようだが俺の目がおかしいのか?
- 41 名前:デフォルトの名無しさん :03/10/08 14:59
- そのロボットを使って何かをシミュレートするんだろうけど
(ロボットそのものなのに、ロボットをシミュレート、ってわけわかんね)
書いてないので言葉通り「そのロボットを動かすのが命題」とすると、
ソース付きサンプルプログラムが付いてるんだから、それで動くだろ。
プログラミングする必要なし。
>VBにしか対応していない
必死すぎてサイトを見る余裕すらないのか・・・
- 42 名前:デフォルトの名無しさん :03/10/08 15:09
- MAPI使うのが嫌で、winsocを利用してのメール送信プログラムを
作ってるんだけど、送信そのものは出来たんだけど、漢字をJISに変換して
送信しようとすると、受け取ったメールで文字化けしてしまう。
たぶん、String変数に無理やりJIS文字を入れてそのままsendしてるから
メール受信時に文字化けしてると思うんだけど
かといって、SMTPサーバーに対してどうやってsendしてやれば良いのかさっぱりで…。
どなたか、アドバイスください。
- 43 名前:デフォルトの名無しさん :03/10/08 15:09
- VBでロボット制御して加藤鷹の指テクシミュレートか。おめでてーな
- 44 名前:42 :03/10/08 15:10
- げ、winsoc→winsockです。
- 45 名前:38 :03/10/08 15:13
- レスthx
VBにこだわっている理由はもう一つ。
研究室にあるソフトがVBしかないからw(もちろんCとかC++はあるんだがVBはこれしかない)
説明不足スマソ。
具体的に書くと「PC上でこのロボを作って(ビジュアル面は無視して駆動システムなどが同じ)
命令させて動いたあかつきにそのプログラムでこのロボが動くか」という証明?見たいな事をする。
教授は教示システムをうんたらかんたらとか言ってた。
とりあえず本買ってやっているんだがグラフィックを動かすプログラムのやり方がなく不安。
VB,VC,TCのどれがやり易いのかそらわからん。今はVBでなんとか普通にプログラム組める
レベルになろうとがんばっている所。
どうなんでしょうか
- 46 名前:38 :03/10/08 15:29
- とりあえず基本的な事をやってみます。
ゲームが作れるのであればロボットも作れるのではないかと・・・
とりあえず質問するレベルがまだまだなんで・・・ここいらでお暇します。
スレ汚しスマソー
- 47 名前:47 :03/10/08 15:33
- タイマーをテキストボックスに表示させているのですが
セットしても表示が0になります。
EnabledはTrueでIntervalは1000.
フォームを開いて約1秒後にテキストボックスの中身が0になるので、インターバルは正常にうごいているようなのですが・・・。
- 48 名前:デフォルトの名無しさん :03/10/08 15:41
- MDBを最適化するルーチンで、中断する機能をつけたいのですが
JROのCompactDatabaseをどうやったら中断させられるのかわかりません
- 49 名前:デフォルトの名無しさん :03/10/08 15:42
- >47
何をしたいのかさっぱり。
もしかして、インターバルの残時間が減ってるのを見たいとか…?
- 50 名前:47 :03/10/08 16:10
- >>49
時間や分や秒を表示させたいのに値がすべて0になります。
Private Sub Timer_Timer()
TXT.text = Hour(Timer) & ":" & Minute(Timer)
End Sub
↑
こんな感じなんですが
- 51 名前:デフォルトの名無しさん :03/10/08 16:12
- >47
Timer?
Timeでなくて?
- 52 名前:51=49 :03/10/08 16:17
- あ
Hour(Timer) & ":" & Minute(Timer)
此処の話ね。
- 53 名前:47 :03/10/08 16:37
- Hour(Timer)をHour(Now())のようにしたらうごきました。
- 54 名前:デフォルトの名無しさん :03/10/08 18:10
- CreateObject("Excel.Application")を使わない状態で
ADOを使用してEXCELからデータを取得したいのですが
この場合、データを取得するのにシート名で選択してもでーたをとってこれません
どうスレばいいのでしょうか
お願いします。
- 55 名前:デフォルトの名無しさん :03/10/08 18:12
- スレタイの顔がキモイのでヤダ。
- 56 名前:デフォルトの名無しさん :03/10/08 19:13
(用紙名の取得)
VB6.0使ってます。
PrinterオブジェクトのPaperSizeプロパティで用紙の番号がかえってきますが、
用紙の名前を取得したいのです。(番号の用紙名)
調べても列挙とかばかりでよい方法がわかりません。
プリンタによっては番号が重複しているものもあります。
(MSDNのPaperSizeプロパティに載ってない番号とか)
どなたかお願いします。
- 57 名前:デフォルトの名無しさん :03/10/08 21:46
- >>54
コード晒せ
- 58 名前:デフォルトの名無しさん :03/10/08 23:50
- ここで書く質問かは良くわかりませんが...
VBからAccessのレポートを開く処理をしているのですが
Accessが入ってない客先のPCではエラーになってしまいます。
調べたら
確かにレポート機能はAccess入ってないと使えないという記述はありました。
でAccessのランタイム(正式名称忘れた)入れてみたのですが
まだエラーになります。
これはAccess入れるしか手が無いということでしょうか?
- 59 名前:デフォルトの名無しさん :03/10/08 23:53
- >>58
エラーの内容を書かないということは、質問する気が無いという事ですね。
- 60 名前:58 :03/10/09 00:02
- >59
そうです。解決しました。
- 61 名前:デフォルトの名無しさん :03/10/09 07:27
- ネットで見つけた「ファイルを開く」ダイアログのAPIを呼び出すのを
やってみたのですが、ファイルを選択してString型の変数に取った時、
その変数の内容をみて見ると、
C:\aaaa.txt・・・・・
みたいにフルパスの後ろに「・・・・・」というのが入っています。
1)これは何でしょうか。
2)どうやったら取り除けますか。
- 62 名前:デフォルトの名無しさん :03/10/09 07:35
- >>61
文字化け。
ソースを直す。
- 63 名前:デフォルトの名無しさん :03/10/09 07:45
- >>61
Null文字でしょ。String変数をsとして
s = Left$(s, InStr(s, Chr$(0)) - 1)
で、Null文字から左だけ切り取りなされ。
>>62
( ´,_ゝ`)
- 64 名前:デフォルトの名無しさん :03/10/09 09:49
- なんか固定長の変数から値とって可変長の変数に入れたときにでてくるよね。
- 65 名前:デフォルトの名無しさん :03/10/09 10:32
- >>64
違う。APIを使ったときに出てくる。
- 66 名前:デフォルトの名無しさん :03/10/09 11:01
- >>64-65
( ´,_ゝ`)
- 67 名前:デフォルトの名無しさん :03/10/09 12:25
- >>66は>>62かな?
>>61
なぜ「・・・・・」が出るかというとAPIでは文字列の終わりは
大抵NULL文字(VBではvbNullCharやChr$(0))になる。
それに対してVBの場合は文字列のヘッダに文字数が書かれており
文字列にNULL文字も使えるようになっている。
そのため、APIがNULL文字で文字の終わりを示してもVB側の扱いが違うため
文字列の終わりより後のゴミが表示されているというわけ。
- 68 名前:デフォルトの名無しさん :03/10/09 19:36
- winxp、vb6.0、sp5です。
ActiveReportについて教えてください。
1つのcolumnを1ページに複数列表示したいのですが
可能なのでしょうか?
教えてください。。。
- 69 名前:68 :03/10/09 20:06
- すいません、自己解決しますた
- 70 名前:56 :03/10/09 20:16
- やっぱ厳しいですかね?
- 71 名前:デフォルトの名無しさん :03/10/09 23:27
- おせーて下さい
プロシージャ内にstatic で宣言した変数を初期化する方法がわかりません
これじゃプロシージャ内でstatic宣言する意味がないんですが・・・
VBの仕様ですか?
- 72 名前:デフォルトの名無しさん :03/10/09 23:47
- >>71
仕様です
C++のstaticとも仕様が違うので、Singletonなんて洒落たものも作れません。
- 73 名前:デフォルトの名無しさん :03/10/10 00:06
- >>72
サンクスです
どうりで、調べても出てこないわけだ
プロシージャ内staticは諦めます
というか、宣言で独自に初期化できないVBの仕様っていったい・・・・
- 74 名前:デフォルトの名無しさん :03/10/10 01:58
- >>72
> Singletonなんて洒落たものも作れません。
C++やJavaの実装だけがすべてではありません。
Singletonの作り方はこれにのっているので馬鹿は勉強してください。
[プログラミング本]Visual Basic Design Patterns VB 6.0 and VB.NET(必読!VBでデザインパターン)(昔ネットで配布されていた書籍のβ版?)vbpatterns.zip 13,885,055 78b08f47ec082d19a6e39641a8c83f9f
- 75 名前:デフォルトの名無しさん :03/10/10 08:09
- >>73
プロシージャ内static変数は廃止される方向にある。
JavaとかDelphiとかC#とかVB.NETとか。
変わりにクラスのメンバ変数を使うべし。
- 76 名前:デフォルトの名無しさん :03/10/10 12:00
- >>68
Detail のColumnCountプロパティを必要な列数に変えてみなされ
他のColumnが付くプロパティも見ておくように。
詳細はヘルプ見れ
- 77 名前:デフォルトの名無しさん :03/10/10 13:27
- Winsockについて詳しく説明したページって無いですか?
- 78 名前:デフォルトの名無しさん :03/10/10 13:28
- InternetOpenUrlなどを使って、あるHPの入力系を自動的に行うようなアプリを作っています。
基本的には、InternetOpenUrlに送るURLを
strURL="http://test.cgi?aa=1000&bb=2000"
の様に加工して処理しています。大体のものはこれで問題なく動いていたのですが、
(前略)
<SCRIPT language="JavaScript"><!--
ChkSubmitFlg = false;
function SubChkSubmit()
{
if( ChkSubmitFlg ){ return false; }
ChkSubmitFlg = true;
return true;
}
//--></SCRIPT></head>
<form method="POST" action="test.cgi" onSubmit="return SubChkSubmit()">
(中略)
<input type=text name="text">
<input type=submit name="aa" value="実行">
<input type=hidden name="bb" value="2000">
という感じのHTML文のsubmit(実行ボタン押下)を処理するために
strURL="http://test.cgi?text=「入力されるべき値」&aa=「実行」&bb=2000"
・「入力されるべき値」は、VBで設定します。例えばユーザーIDとか
・実際の処理では「実行」はコード変換しています。
というURLを作って送ったのですが上手く動きません。SubChkSubmit()が関係するのはわかっているの
ですが、どう処理したらいいのかわかりません。誰かわかる方がいたら教えてください。
- 79 名前:デフォルトの名無しさん :03/10/10 15:16
- >>78
バケットモニターを使ってブラウザがどんな文字列をpostしているか確かめることから始めてはいかがでしょ?
で、それと同一のpostをするように調整すればよろしい
- 80 名前:デフォルトの名無しさん :03/10/10 15:40
- PictureBoxに画像ファイルをロードし、
例えば円画像でいうと、円上のある点をマウスで外側に
ドラッグ&ドロップするとその部分が伸びるというものを
作りたいのですが、どうすればよいのでしょうか。
補間はBスプラインを用います。
よろしくお願いします。
あ、環境はVB6です。
- 81 名前:デフォルトの名無しさん :03/10/10 17:05
- ウイン98で動いていたVBアプリをXPにインストールすると
76の実行時エラーが出ます。
何が原因と考えられますでしょうか?
どうぞ宜しくお願いします。
- 82 名前:デフォルトの名無しさん :03/10/10 18:47
- >>74
んなこと知ってるっつーの
- 83 名前:デフォルトの名無しさん :03/10/10 18:54
- >>79
パケットモニターでも良いけど、InetSpyの方が見やすいと思う。
- 84 名前: :03/10/10 19:37
- VB6.0なんですが、
テキストボックスに数字を入力して、
それをデータとして保存して、
その後、別のフォームで開いてデータを読み込むには
どのようにすればいいのでしょうか?
- 85 名前:デフォルトの名無しさん :03/10/10 19:54
- >>84
VB6.0の入門書は置いているところが少なくなったから、
急いで買いに行ってください。
- 86 名前:デフォルトの名無しさん :03/10/10 20:40
- >>81
パスが見つからないんだろう。
- 87 名前:名無しさん@お腹いっぱい。 :03/10/10 21:01
- >>86
お返事ありがとうございます。
多分そうだと思うんですが、どうやったら直りますかね?
厨質申し訳ありませんが、ググってもわからないんです。
宜しくお願いします。
- 88 名前:デフォルトの名無しさん :03/10/10 21:07
- >>87
あんたはアプリを作っている人なのか、それともタダの1ユーザなのか?
作っているのならバグを探してエラーになっているところを見つけて
正しいパスにでも修正してください。
- 89 名前:名無しさん@お腹いっぱい。 :03/10/10 21:08
- >>88
すみませんでした。
至急探してみます。
- 90 名前:名無しさん@お腹いっぱい。 :03/10/10 21:12
- >>88
ただ、プログラム自体が立ち上がらないもので・・・
- 91 名前:デフォルトの名無しさん :03/10/10 21:17
- VBは起動するだろ? デフォルトの設定ならエラー個所で止まるだろ?
そこらへんのソースを晒せ。
- 92 名前:デフォルトの名無しさん :03/10/10 21:41
- function 関数を学んでいるのですがアドバイスを
Dim kotaekakeru As Long
Dim kotaetasu As Long
kotaekakeru = KakeruTasu(2, 3, kotaetasu)
Function KakeruTasu(a As Long, b As Long, c As Long) As Long
KakeruTasu = a * b
c = a + b
End Function
上記にてkotaekakeruが6になるのは理解できますが
kotaetasuが5( c = a + b)になるのが理解できない。
C言語のポインタみたいなものですか?
- 93 名前:デフォルトの名無しさん :03/10/10 21:44
- >>92
ByValとByRefを調べてください。
まあポインタに近いけど、アドレス間違いで簡単に落ちるポインタとはちと違う。
- 94 名前:デフォルトの名無しさん :03/10/10 21:56
- C++の参照に最も近い。
- 95 名前:名無しさん@お腹いっぱい。 :03/10/10 21:59
- >>91
ライセンスの関係でXPにはNETしか入れてないんです。
しかも変換できない一番安い奴です。
- 96 名前:デフォルトの名無しさん :03/10/10 22:07
- >>95
あきらめろ。
- 97 名前:名無しさん@お腹いっぱい。 :03/10/10 22:09
- >>96
殺生なーーーーーーーー。
- 98 名前:デフォルトの名無しさん :03/10/10 22:14
- >>97
修正してコンパイルできないんだろ?無駄だ。
- 99 名前:92 :03/10/10 22:14
- >>93
即レスサンクス。
なんとなく入門書レベルには明記されていない理由がわかった気がする。
- 100 名前:92=99 :03/10/10 23:03
- いかん。理解したつもりがますますわからなくなってきた。
- 101 名前:名無しさん@お腹いっぱい。 :03/10/10 23:09
- >>98
私見捨てられたんですね・・・
- 102 名前:92=99 :03/10/10 23:17
- ちょっとこんがらがってきた。もう少しアドバイスを。
下のプログラムで「処理1、処理2」の時点では「iVal=ABCDEF」になる(確認済み)
でも何でこの処理だけで変数aが変化する訳?
ByVal、ByRefの設定により変数aに影響を与えているんだよね。
- 103 名前:92=99 :03/10/10 23:17
- Sub Test1(iVal As String)
iVal = iVal & "DEF" ' 処理1
End Sub
Sub Test2(ByVal iVal As String)
iVal = iVal & "DEF" ' 処理2
End Sub
Sub Main()
Dim a As String
a = "ABC"
Test1 a
MsgBox a ' "ABCDEF" を表示する
a = "ABC"
Test2 a
MsgBox a ' "ABC" を表示する
End Sub
- 104 名前:デフォルトの名無しさん :03/10/10 23:18
- >>101
98とXPの環境晒してくれたら解決してあげるよ。
じゃなければ多分無理。
>>103
多分理解できてると思うよ。
- 105 名前:92=99 :03/10/10 23:31
- >>104
あまり理解できてません(汗
ByRefの場合、引数iValを変化させたら呼出元の変数aの値も変わってしまって
ByValの場合だと変化しない
と覚えたらいいのかな?
- 106 名前:デフォルトの名無しさん :03/10/10 23:41
- >>105
それでいい。
- 107 名前:名無しさん@お腹いっぱい。 :03/10/11 00:15
- >>104
98はVB6で、XPはNETです。
98で作ったVB6のアプリをXPで使おうと思って今回うまくいきませんでした。
VB6で作ったアプリをNETでシコシコ書いた方が良いんでしょうか?
しつこくてゴメンナサイ。
出来ればどちらでも使えるようにしたいんです。
宜しくお願します。
- 108 名前:デフォルトの名無しさん :03/10/11 00:21
- >>107
・.NETの高いほうを買う
・.NETに移植する
・6.0を手に入れる
・あきらめる
- 109 名前:名無しさん@お腹いっぱい。 :03/10/11 00:24
- >>108
キッツーイ条件ですね。
でも検討してみます。ありがとう。
- 110 名前:デフォルトの名無しさん :03/10/11 01:34
- あきらめるな。道はきっとある。(知らんけど。)
- 111 名前:デフォルトの名無しさん :03/10/11 09:17
- >>105
その辺がVBの変なところのひとつ。VBやるときは
Private Function hogehoge (ByVal argHoge) As Long
みたいに、その関数のスコープと、引数渡しがByValかByRefか明記する癖をつけとくといいよ。
- 112 名前:デフォルトの名無しさん :03/10/11 09:43
- >105
それだと、結果の丸暗記になっちまうな。間違っちゃいないが・・・
なぜそういう結果になるのかを頭で理解しておいたほうがいいと思うぞ。
ByVal→呼び元の変数のコピーを渡す→呼び元の値は変化しない
ByRef→呼び元の変数への参照を渡す→呼び元の値が変わる
「値渡し 参照渡し」でぐぐると色々出てくるぞ。
ttp://www.h3.dion.ne.jp/~sakatsu/Excel_Tips01.htm
ttp://www.ttbeone.co.jp/~aasaga/school/ptr/ptr1.htm
- 113 名前:デフォルトの名無しさん :03/10/11 10:30
- 初心者は値渡ししか使ってはいけません
- 114 名前:デフォルトの名無しさん :03/10/11 14:04
- >>111
何が変なんだろうか...。
ByVal か ByRef かを明記するより、引数の型をきちんと指定するほうが先だと思うが...。
- 115 名前:デフォルトの名無しさん :03/10/11 16:43
- >>114
その割に関数の戻り値はキチンの定義してあるから余計奇妙に見えるよ
- 116 名前:92=99=105 :03/10/11 18:57
- わ!いろいろレスがついていてどうもです。
>>111
癖をつけます。
>>112
わかりやすい説明でありがたいです。
>>113 >>114
引数がアドレスで渡されるので初心者には難しいです。
- 117 名前:デフォルトの名無しさん :03/10/11 19:43
- Byの意味を知らない人はプログラム以前の問題だ
- 118 名前:30 :03/10/11 20:40
- だめだ。html文書のタグを変換できない。
正規表現を使うのは理解できましたが実際にどう実行してよいのやら。
「文字列 置換 vb 正規表現、etc」で検索してもいまいち。
perlで言うところの~s/<.*?>//gs;みたいに簡単にはいかない。
vb6から使えるようになったreplace関数では駄目なんですか?
- 119 名前:デフォルトの名無しさん :03/10/11 23:19
- replaceはパターンマッチじゃないからな。
VBSで正規表現を使うためのモジュールはあったような気がするが
- 120 名前:デフォルトの名無しさん :03/10/11 23:44
- >>118
プログラムをさらしてみ。Replaceは正しく使えば便利だしみんなちゃんとその関数を使えてるし。
- 121 名前:30 :03/10/12 00:12
- >>120
レスサンクス。
ただプログラムを晒すも何も正規表現による変換が結局わからないのでreplace関数は使ってません。
118の書き込み後なんとか以下のような原始的なやり方でしのいでます。
temp1 = Text1.Text
prePlace = InStr(temp1, "<")
nextPlace = InStr(temp1, ">")
Text1.SelStart = prePlace - 1
Text1.SelLength = (nextPlace - prePlace) + 1
Text1.SelText = ""
"<>"の場所調べてその間の中身を消す。
処理も重く効率の悪いプログラムです。
- 122 名前:v5 ◆Rkxom1fHHc :03/10/12 02:27
- Visual Basic 6.0 って、VBの仮想VM上で動いてるんだよね?
っていうことは、VBのEXEは完璧なアセンブルではないってこと?
VC++(MFC使わない)のEXEは機種依存アセンブルってこと?
んー、よく分かんないや。
- 123 名前:v5 ◆Rkxom1fHHc :03/10/12 02:28
- >>122 訂正。
× Visual Basic 6.0 って
○ Visual Basic 6.0 でコンパイルしたEXEって
- 124 名前:デフォルトの名無しさん :03/10/12 02:45
- >>122
まったく違う。どっからそんな情報を。
P-CODEのことか?
- 125 名前:v5 ◆Rkxom1fHHc :03/10/12 02:56
- >>124
まったく違うのか!?スマソ・・・
どこかのサイトに MSVBVM60.DLL の上で中間ファイルとして生成されたEXEファイル
を解析し実行と書いてあった。MSVBVM60 ってことはVB6.0だと思ったから。
処理速度に大きな違いがあるのはここが原因だと思ってた。
VM上で動いたりはしていないって事だよね?
- 126 名前:デフォルトの名無しさん :03/10/12 08:19
- P-CODE生成にすれば仮想VMで動いているようなもんだが、
デフォルトの設定では完璧なマシン語で動いている。
MSVBVM60はただのDLL(MFC32.DLLやKernel32.DLLの同じようなもん)と
考えた方がいい。
処理速度に大きな違いは無いし、違いがあったとしても原因は他にある。
たとえば配列の範囲チェックを厳密におこなっていたり、
数値がオーバーフローしてもマイナスにならないでエラーになったり。
動的にメモリサイズを変更する文字列を使っていたり。
一部は設定で安全性を犠牲にして無効にすることで
パフォーマンスを上げることも出来る。
- 127 名前:デフォルトの名無しさん :03/10/12 10:22
- あなたたちにはJAVAが向いています
- 128 名前:デフォルトの名無しさん :03/10/12 11:28
- VBの入門書を終えて応用編や中級編の本をネットで探していたときに思ったのですが
これらの本を学び終えた場合、
(用途によるでしょうが)今後はVBを覚えると言うよりもAPIなどの
windowsの仕様を覚えると言った感じになるのでしょうか?
なんかVBだけではオフィス関連のアプリしか作れないような気がしてきたので。
- 129 名前:デフォルトの名無しさん :03/10/12 12:54
- > なんかVBだけではオフィス関連のアプリしか作れないような気がしてきたので。
それは想像力が足りないだろ。
作りづらいとかはあるがほとんどのジャンルはVBだけで作れるぞ。
- 130 名前:デフォルトの名無しさん :03/10/12 12:55
- VBのInetについて3個ほど教えて下さい。
@RequestTimeout=1にして
getするのに10秒かかる場合エラーになってしまうのでしょうか?
AInet1.Execute , "xxx"と実行して
そのまま返ってこないことがありますが
回避できませんでしょうか?
BDo While Inet1.StillExecuting
DoEvents ' 前の処理が終わるまで待機
Loop
ここで無限ループにはまってしまうことがあるのですが
回避できませんでしょうか?
よろしくお願いします。
- 131 名前:デフォルトの名無しさん :03/10/12 13:14
- @ためせ
AB情報が足り無すぎ
- 132 名前:デフォルトの名無しさん :03/10/12 15:21
- VBで作ったEXEを実行するときに実行引数を与えたいのですが、与える方法を教えて下さい。
- 133 名前:デフォルトの名無しさん :03/10/12 15:27
- プロジェクトのプロパティをよく見る。
- 134 名前:デフォルトの名無しさん :03/10/12 16:16
- コマンドライン引数の部分に
com as String,PBcount as boolean
こんな風に記載すればいいのでしょうか?
- 135 名前:デフォルトの名無しさん :03/10/12 16:55
- 134>>
ぞんぞん違う
ヘルプで Command 見る
- 136 名前:デフォルトの名無しさん :03/10/12 17:48
- 列挙型の中に列挙型を持たす事って出来ますか?
例えば、SuperConst.SubConst.Hoge
みたいな事をしたいのですが…。
- 137 名前:デフォルトの名無しさん :03/10/12 18:15
- >>136
できない。
何かを中に持てるってことはは構造体に他ならない。
欲しいのは、ローカルスコープを持った列挙型か ?
それなら俺も欲しい。
- 138 名前:デフォルトの名無しさん :03/10/12 18:26
- >>136
別に列挙型の中じゃなくてもいいだろ
SuperConst と SubConst をユーザー定義型で作ればいいだけじゃないのか?
固定値に構造体をつけたいという考え方がまずおかしい
- 139 名前:デフォルトの名無しさん :03/10/12 18:33
- >>134-135
135が書いてるようにCommandを使うのが正解だけど、
134のようなアプローチができたらいいなと思ってるひとは、きっと多いよね。
Sub Mainからはじまるプログラムで、Sub Main(com as String, PBcount as Boolean)
みたいな感じで。
- 140 名前:デフォルトの名無しさん :03/10/12 19:27
- MSFlexGridで指定したセルでEnterキーを押したら
その内容を取得して textに表示させたいのですが、
やり方がわかりません。
教えてください
- 141 名前:デフォルトの名無しさん :03/10/12 20:43
- オブジェクト変数を参照する時Withを使うのと使わないのとの速度について教えて下さい。
いったん、変数に格納したオブジェクトを参照するのに、連続で変数名を書いたら
遅くなるなんてことは無いですよねぇ?
例としてExcel(おかしなコードでごめんなさい)。
1)
Dim objXlApp As Object
Set objXlApp = CreateObject("Excel.Application")
objXlApp.Workbooks.Add
objXlApp.Workbooks(1).Worksheets.Add
2)
Dim objXlApp As Object
Set objXlApp = CreateObject("Excel.Application")
With objXlApp
.Workbooks.Add
.Workbooks(1).Worksheets.Add
End With
速度に差はありますか?
- 142 名前:デフォルトの名無しさん :03/10/12 20:50
- >>141
Withを使ったほうが(ほんのわずかに)早くなるらしい。
- 143 名前:141 :03/10/12 20:57
- >>142
あ、一回で書けずすみません。
オブジェクト変数への参照ってNothingされるまで保持されるんじゃないのですか?
例えば、
Worksheets(1).Range("A1") = "セルA1"
Worksheets(1).Range("A2") = "セルA2"
Worksheets(1).Range("A3") = "セルA3"
これはWithを使った方が早いってのは分かるんですが。
いったん変数に入れてしまえば…ってのが疑問なのです。
- 144 名前:30 = 118 :03/10/12 22:12
- 正規表現による変換できたーーーー!!!!
Dim str1 As String
str1 = Text1.Text
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "<[^<]*>"
re.Global = True
Text2.Text = re.Replace(str1, "")
本屋で読んできたけど(笑)帰ってきたら度忘れしてしまって苦労した。
ただ意味をこれから理解しないと。
VBSとはなんぞや?状態ですから。
- 145 名前:デフォルトの名無しさん :03/10/12 22:15
- タグを取り除くのならIEやHTML関連のコンポーネントを
使ったほうが良いかもしれない。
なんたらオブジェクトのInnerTextでテキストだけ取り出せると思うし。
- 146 名前:144 :03/10/12 22:20
- >>145
ガーーーーン
そんないい手があったのか。
実は144のプログラムは不完全。
タグ以外で<>使用していたら当然消される(笑
- 147 名前:デフォルトの名無しさん :03/10/12 22:32
- >>146
タグ以外で<>は使われない。 正しいHTMLなら。
- 148 名前:FMani ◆8u6xtERGZg :03/10/12 22:36
- >>147
Javascript
- 149 名前:デフォルトの名無しさん :03/10/12 23:30
- >>130
Inetは無効なアドレスやタイアウト時にはエラーを発するので
On Error Resume Next
や
If Err.Number<>0 Then
をうまくつかい、エラーが出てもきちんと動作する設計にすること。
そうすればInetを使ってインターネット上のあらゆるファイルを集めることに成功する。
- 150 名前:デフォルトの名無しさん :03/10/12 23:47
- >>146
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200306_03060027.html
ここでも不完全な議論で終わってるが。
- 151 名前:30 = 118 :03/10/13 00:52
- >>149
>そうすればInetを使ってインターネット上のあらゆるファイルを集めることに成功する。
あ、そうかhtml文書自体をネットから取れるわけだ、ずっとファイルから読み込んでいた。
正規表現で頭がいっぱいで思いつかなかった。
Inetをこれから覚える段階ですが貴重なアドバイスありがとうございます。
>>150
まさに149のサンプルですね。サンクス。
- 152 名前:デフォルトの名無しさん :03/10/13 01:44
- >>143
単純に、プロパティ(それかメソッド)の呼び出し回数が減るから速くなる、
というのではないかと。
>>141の場合はほとんどメリット無いけど、階層が深くなれば効果は
出るはずです。。
一旦変数に入れてしまえば・・、と言っている内容は正確に理解はできませんが、
オブジェクトへの参照を変数に保持しとけば、次からそれ経由でアクセスすれば
速くなる、という意味でしたらそうだと思います。
'例1
result = a(1).b(1).c(1).Value
result = a(1).b(1).c(1).Caption
’例2
With a(1).b(1).c(1)
result = .Value
result = .Caption
End With
'例3
Set objWidth = a(1).b(1).c(1)
result = objWith.Value
result = objWith.Caption
上記の例の場合、例1の動作が一番遅く、例2・例3の動作が(たぶん)同じ速度
だと思います。
例2と例3は、 a(1).b(1).c(1) を毎回呼び出す手間を省いているので、その分速く
なっているはずです。
- 153 名前:デフォルトの名無しさん :03/10/13 03:14
- わたしのちんこは可変長です。あなたたちのは固定長だそうですからふべんですね。
- 154 名前:デフォルトの名無しさん :03/10/13 04:23
- 私のはLongです。
- 155 名前:デフォルトの名無しさん :03/10/13 07:00
- >>148
Javascriptでも<>は使われない。 正しいHTML無いのJavaScriptなら。
- 156 名前:デフォルトの名無しさん :03/10/13 07:45
- >>155
if(a < b) って書くの ? (藁
- 157 名前:デフォルトの名無しさん :03/10/13 07:46
- いかんいかん、変換されるんだった。
>>155
if(a < b) って書くの ? (藁
- 158 名前:デフォルトの名無しさん :03/10/13 07:52
- Microsoft HTML Object Libraryを使ったタグの消し方。
・Microsoft HTML Object Libraryを参照設定。
Dim h As New HTMLDocument
Dim htmlstring As String
htmlstring = "<HTML><HEAD><title>タイトル</title></HEAD><BODY>" & vbCrLf & _
"ボディ<BR>" & vbCrLf & _
"<B>太</B><BR>" & vbCrLf & _
"<a href=www.yahoo.co.jp>ヤフーへのリンク</a>" & vbCrLf & _
"</BODY></HTML>"
MsgBox htmlstring
h.body.innerHTML = htmlstring
MsgBox h.documentElement.innerText
IEのHTML解釈エンジンを使用するので変なHTML(タグ以外の用途で<>が使用されたり)でもIEと同じように解釈される。
DOMが構築されるのでリンクを取り出したりと自由自在。
本当はh.body.innerHTMLじゃなくてh.documentElement.innerHTMLに書き込みたいがエラーになる。
body.innerHTMLに書き込んだため、<title>などは無効。今回はたいして問題にならないだろうけど。
ファイルを作らずに完全にHTMLドキュメントを作成する方法は無いのかな?
- 159 名前:デフォルトの名無しさん :03/10/13 14:44
- 自作のOCXを作っています。
Valueプロパティ(True,False)を付けたので、OptionButtonのように排他で
値を設定できるようにしたいと考えていますが、うまくいかないんです。
どうやったらOptionButton的な動きが出来るのでしょうか。
どなたか教えてくださいm(_ _)m
- 160 名前:デフォルトの名無しさん :03/10/13 15:13
- >158
VBではやった事無いんで外してるかも知れないけど、h.body.parentElement.outerHTMLに書く。
- 161 名前:デフォルトの名無しさん :03/10/13 16:29
- >>159
クリックしたら一回全部Falseにして、
クリックしたものだけTrueにすればいいのでは
- 162 名前:デフォルトの名無しさん :03/10/13 17:45
- >>161
多分その処理をカプセル化したいんでしょ。
漏れも良く分かんね。
- 163 名前:デフォルトの名無しさん :03/10/13 20:49
- For Each ctl In ParentControls
If ctl Is UserControl1 Then
- 164 名前:デフォルトの名無しさん :03/10/13 23:08
- 「技術評論社のかんたんプログラミングVBコントロール関数編」を読んでいます。
とある例題でエラーが発生。「組み込み可能なISAMドライバは見つかりません。」とのこと。
Excelのデータをデータコントロールを使ってVB上で扱う例題なんだけど
例題ではExcel97で自分の環境はExcel2002。
データコントロールのConnectプロパティをExcel8.0にしているからだと思うのだけど
Excel2002でExcel8.0でいいのかな?
- 165 名前:159 :03/10/14 00:06
- >>161-163
レスありがとうございます!お蔭様でそれっぽいことが出来てきました。
が、配置したフレーム毎ではなく、フォーム上のコントロールが全て対象になってしまいます。
もうちょっとがんばってみます。
- 166 名前:デフォルトの名無しさん :03/10/14 00:12
- 皆様のお力をお借りしてもらえないでしょうか。
現在、DataReportを使用し、伝票を打ち出すPGを作っています。
DataReportのデフォルトのサイズではA4縦幅で設定されるのですが、
同PG内でA4横にした際に「用紙サイズが広すぎる」といったエラーが出てしまいます。
DataReportをA4の横幅にして打ち出す方法をご存知で無いでしょうか。
PGを起動する前にデフォルトで横幅にすれば一応できるのですが、どうしても
同PG内で組まないといけないとのことなので。。
よろしくお願いいたします。
OS:Win2000
VB6.0 Enterprise Edition
です。
- 167 名前:デフォルトの名無しさん :03/10/14 18:03
- For Each ctl In ParentControls
If ctl.Container Is Me.Container And _
TypeOf ctl Is UserControl1 Then
- 168 名前:デフォルトの名無しさん :03/10/14 18:10
- ガイシュツダタラスマソ
"Winsock"コントロールを動的追加したいんだけど、
Set Winsock1 = Form.Controls.Add("VB.Winsock", "xxx")
の"xxx"の部分ってなに?
無理やり実行すると、
-------------------- msgbox --------------------
実行時エラー '711':
クラスの文字列が不正です。
ProgID VB.Winsock のオブジェクトを参照してください。
-------------------- msgbox --------------------
クラスの文字列ってなんだー!!
ヘルプ見てもワカラナーイ
いろいろ調べてコマンドボタンの例はのってたんです。
こんな感じでした。
Set Command1 = Form.Controls.Add("VB.CommandButton", "cmdobj")
ついでに、"MSComm"も教えてもらえるとチョトシアワセ
- 169 名前:デフォルトの名無しさん :03/10/14 18:21
- >168
Loadを使う。
MSDNに複数使用のサンプルソース載ってるよ。
- 170 名前:デフォルトの名無しさん :03/10/14 19:02
- >>168
MSWinsock.Winsock.1
Winsockを参照設定して、F2を押してオブジェクトブラウザの左上の
<すべてのライブラリ>を変更でライブラリ名がMSWinsockLibとわかったから、
Controls.Add("MSWinsockLib.winsock", "xxx")とするとエラー内容に
正しいProgIDが表示される・・・。激しく無駄なことしている気がする(w
- 171 名前:164 :03/10/14 20:25
- 164です。困ったことに未だにわからん。
access2002で製作したファイルはデータコントロールのプロパティconnectを
「access2000」にすればいけるけどExcelはうまくいかん。
「組み込み可能なISAMドライバ」で検索したら「VB6がOfficeXP以前のソフトだからドライバがいる」みたいな
事を書いてあったけど一応サービスパックも当てているんだが。
どなたかアドバイスをお願いします。
- 172 名前:デフォルトの名無しさん :03/10/14 20:26
- 関数は再帰呼び出しできないの?
- 173 名前:デフォルトの名無しさん :03/10/14 20:37
- >>172
できるけど。
- 174 名前:デフォルトの名無しさん :03/10/14 21:22
- 教えてください。
VB6でWordのファイル扱えますか?
Wordで作成した原稿フォーマットの内容を書き換えたいのですが。
例)Word文書内→ ○○様
↓ VB6プログラムで・・・
○○様→ 山田太郎様 って書き換えたいんですが・・・
- 175 名前:デフォルトの名無しさん :03/10/14 21:39
- 初心者向けのVB6のおすすめの書籍を教えてください。
- 176 名前:168 :03/10/14 21:43
- 私はなにか勘違いをしていたみたいで・・・
"xxx"の部分が間違っていると思ったら、
"VB.Winsock"の方がダメだったんですねぇ。
いや勉強になりました。
>>169
ご助言ありがとうございます。
ですが今回はコントロールの削除も動的に行ってみたいので
"Add"で頑張ってみます。
>>170
ありがとうございます。
こんな方法があったとは・・・
というよりオブジェクトブラウザって初めて使いました。
よく間違えて開いちゃうことはあったんですけど。
- 177 名前:デフォルトの名無しさん :03/10/14 21:55
- VBソフトだって↓
http://www.h6.dion.ne.jp/~tt.com/
- 178 名前:159 :03/10/14 22:08
- >>167
ありがとうございます。
MeにContainerプロパティが無いみたいですね・・・
UserControl.Containerとやっても駄目でした。
引き続き調べてみます。
- 179 名前:デフォルトの名無しさん :03/10/15 00:02
- VB6 SP5でdir関数を利用しているのですが、
「ファイル数が多すぎます」って実行時エラーが発生します...
どなたか、回避方法をご存知の方、いらっしゃいますか?
ファイル数はどんどん増えていくので、どうしても回避したいのですが...
- 180 名前:179 :03/10/15 00:04
- すいません、自己解決しました
- 181 名前:デフォルトの名無しさん :03/10/15 01:34
- 標準EXEからCreateObjectしたActiveX EXEのクラスで、
Public で定義したユーザー定義型を標準EXEから渡したいのだが、
エラーが表示される。
なんで?
- 182 名前:デフォルトの名無しさん :03/10/15 07:18
- >>178
Me.Extender.Container
- 183 名前:デフォルトの名無しさん :03/10/15 18:28
- リストビューコントロールのヘッダー背景色
の色を変える方法ってありますか?
SendMessage()使うんだろうけど、、、
アドヴァイスお願いします。
- 184 名前:デフォルトの名無しさん :03/10/15 19:10
- >>183
自己解決しました。
VB リストビュー サブアイテム 背景
で検索したらHitした。
- 185 名前:159 :03/10/15 20:08
- >>182
やりたかったことがお蔭様で出来ましたです。
ここで教えて貰わなかったら、多分諦めていたと思います。
本当にありがとうましたm(_ _)m
- 186 名前:デフォルトの名無しさん :03/10/15 23:52
- APIの呼び出しについて質問なのですが、ユーザー定義型を参照渡ししている
ところにNULL値を指定したいのですが、定義を変えないでやるにはどうすれば
いいでしょうか?
たとえば、
Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As DEVMODE) As Long
の4つ目の引数にNULL値を渡したいのです。
検索したら、
ByVal lpInitData As Long
や
lpInitData As Any
のように定義を変えて実現しているのはいくつか見つかったのですが、
こういう方法しかないんでしょうか?
- 187 名前:デフォルトの名無しさん :03/10/16 08:19
- コマンドプロンプトで、netstat -an > c:\a.txt とか打つと
接続状況とかファイルに書き込むことができますが
これをコマンドプロンプトを表示させずに
vbからファイルに結果を書き込むにはどうしたらよいのでしょうか?
shell "netstat -an > c:\a.txt"
とやってみましたが、うまくいきませんでした。
よろしくおねがいします。
- 188 名前:デフォルトの名無しさん :03/10/16 08:44
- Shell Environ("COMSPEC") & " /C " & "netstat -an > c:\a.txt", vbHide
- 189 名前:デフォルトの名無しさん :03/10/16 09:50
- >>188
ありがとうございました、すんなり成功しました。
ちなみに、COMSPEC と /C にはどういう意味があるのでしょうか?
- 190 名前:デフォルトの名無しさん :03/10/16 13:50
- 意味などない。
- 191 名前:デフォルトの名無しさん :03/10/16 14:12
- >>189
> や | などの機能はシェルがおこなっている。
シェルはWin9x系ではcommand.com、WinNT系ではcmd.exe
このプログラム名を環境変数COMSPECから取得できる。
cmd /?より
/C "文字列" に指定されたコマンドを実行した後、終了します。
- 192 名前:189じゃないけど :03/10/16 19:25
- >>191
( ・∀・)つ〃∩ ヘェー
そんな環境変数あったんだ
- 193 名前:VBAの資格 :03/10/16 20:24
- こっちのスレ(VBAエキスパートについて)もよろしく
http://school2.2ch.net/test/read.cgi/lic/1066275292/l50
- 194 名前:すご〜く迷い人 :03/10/16 21:46
- どなたか教えて下さい。
データベースでコネクション接続後、指定したSQL文でレコードを開き、
RecordCountにて該当するレコード数を収集する事が出来ますが、
この方法ですとレコード数がサーバによって正しく収集出来ない場合があると
マイクロソフトのサイトに掲載があったのですが、
RecordCount以外で、正確にレコード数が収集出来る方法ってあるのでしょうか?
ちなみに環境はWindowsServer2000のWebサーバと、SQLServer2000のデータベースの2台構成です。
現在、私の環境にて実際にSQL文に該当するレコードが3件あるのに、
RecordCountをResponse.writeで表示すると「-1」が設定されてしまっています・・・。
(同条件で別のマシンで動作させるとRecordCountには3が設定されています・・・。)
皆様のご指摘やアドバイス等、よろしくお願い致します。
- 195 名前:デフォルトの名無しさん :03/10/16 22:21
- select countとかeof=falseの間で数えるとかじゃ駄目すか?
recordsetを一回movelastすると、rowcountで取れたりしないですか?
ヘタレなもんで的外れな事言ってたらスマソ
- 196 名前:すご〜く迷い人(194カキコ) :03/10/16 22:32
- >>195
レスありがとうございます。
的外れでは無いですよ。
大変参考になりました。
私自身、まだ勉強し始めたばかりの初心者ですので、
皆さんにとって当たり前でも、私には凄く勉強になる事ばかりです。
感謝致します。
- 197 名前:デフォルトの名無しさん :03/10/16 23:49
- Textout(API)を使用して、ピクチャーボックス上に文字列を
表示させています(ゲームのシナリオ表示部です)
ttp://www.alpha-net.ne.jp/users2/ei9711/vbkouza/kouza23.html
こちらを参考に画像の縮小プログラムを作ったのですが、一つ
どうしても思い浮かばない処理があります。
巨大なフォントサイズでテキストを描画し、それを縮小して文字に
アンチエイリアスをかけたいのですが、描画したテキストの背景が、
描画したオブジェクトの背景色や画像で塗り潰されてしまいます。
縮小し、アンチエイリアスのかかった文字の背景を、と言うかぼかしの
かかった部分を透明化するには、どのようにすればよいでしょうか?
- 198 名前:166 :03/10/17 01:23
- やはりDataReportでは無理なのでしょうか?
いろいろなサイトで検索しましたがいまいちやり方がわからないです。。
なんでこんなに使い勝手がわるいんだろう…
- 199 名前:デフォルトの名無しさん :03/10/17 09:16
- >>194
何を使ってるかによるけど、DAOならカウントの仕様です。
DAOの場合、そのあたりのプロパティは、取得したレコードではなく、
それまでにフェッチしたレコード数と言う、使い道がないような値を返してくれます。
- 200 名前:デフォルトの名無しさん :03/10/17 11:39
C/C++ でいう unsigned short 型(USHORT型)のプロパティを取得する
ActiveXオブジェクトがあるのですが、VB でそのプロパティにアクセスしようとすると
以下のコンパイルエラーが発生します。
関数またはインターフェイスが予約されているか、
または Visual Basic でサポートされていないオートメーション タイプが
関数で使用されています
VB で unsigned short 型(USHORT型)のプロパティにアクセスするには
どうすればいいのでしょうか?
- 201 名前:デフォルトの名無しさん :03/10/17 11:56
- >>197
なんかあんまVBと関係ないような気もするが。。。まあいいや。
まず、そもそもTextOut、つーかFontを作成するAPIの指定で
アンチエイリアスが指定できたと思う。TrueTypeフォントならね。
次に、それによる直接描画が何らかの理由で使えないなら、
その便宜上拡大フォントを描画する時に、背景も最終的に
かぶさるものを拡大して描画しておけばいいのではないか?
- 202 名前:デフォルトの名無しさん :03/10/17 12:10
- 教えてください。
ASPでなんですけどスレ無いしVBでも同じだと思うので
こちらに書き込みしてみました。
変数に入ってる文字列の中に機種依存文字が入ってるかどうかのチェックを
正規表現オブジェクトを利用してのパターンマッチングを行うにはどうすればいいんでしょうか?
なんとなくは書いてみたんですけどパターンをどう書いても駄目で...
strPtn = "\x8E[\xA0-\xDF]|[\xAD\xAE\xF9\xFA\xFB\xFC][\xA1-\xFE]"
strPtn = "[\u00A0-\u00FF]|[\u2921-\u2F7E]|[\u7521-\u7E7E]"
マッチングしたいのは特殊文字(8540-889E)・縦文字(EB40-EFFC)・外字(F040-)です。
わかられる方おられましたらよろしくお願いします。
- 203 名前:202 :03/10/17 12:51
- >>194
カーソルタイプはどうなってますか?
adOpenKeysetやadOpenStaticならRecordCount使えますけど
それ以外の場合はRecordCountには-1が入るはずです。
DAOならMoveLastしてMoveFirstしてからRecordCountとか
してた気がするなあ...
- 204 名前:すご〜く迷い人(194,196カキコ)→解決! :03/10/17 15:05
- >>199
>>203
レスありがとうございます。
>>196カキコ後に自分自身でもいろいろと調べまして、
データベースサーバに関してはWebサーバとつながっているだけのローカルマシンということで、
レコードを開く前にCursorLocationにローカル指定を意味する3の値を設定したら、
正しいレコード数の値を収集する事が出来ました。
データベースサーバは外部公開しないので、とりあえず今回はこの方法で解決しました。
皆様、いろいろとご親切にアドバイスありがとうございました。
- 205 名前:デフォルトの名無しさん :03/10/17 15:22
- 入力した文字列(全角ひらがな等)から半角カナ文字を取得することって
できますか?
例えばあいうえおという文字列からアイウエオを取得することとか。。
APIについてもいろいろググってみましたがわかりませんでした。
参考サイトやサンプルプログラムがある場所を知っていましたら
お願いします。
- 206 名前:デフォルトの名無しさん :03/10/17 15:46
- >>205
全角ひらがな”等”の”等”がなにを指しているのかしらんが、
全角ひらがなからはできる。strconvを調べてみれ。
- 207 名前:デフォルトの名無しさん :03/10/17 15:51
- EXEファイルを作るためにコンパイルしたいのですが、
どうすればいいんでしょうか?
コンパイルというボタンとかあるんですか?
超初心者ですいません!
- 208 名前:デフォルトの名無しさん :03/10/17 15:59
- あからさますぎるので気が乗らない
やりなおし
- 209 名前:デフォルトの名無しさん :03/10/17 16:14
- >>207
メニューの「ファイル」-「〜.EXEの作成」
- 210 名前:デフォルトの名無しさん :03/10/17 16:47
- コマンドラインからを知りたいとか?w
nmakeでもできたっけ?
- 211 名前:デフォルトの名無しさん :03/10/17 18:36
- 関連付けによると、
C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe "%1" /make
だそうです。
- 212 名前:デフォルトの名無しさん :03/10/17 23:16
- もうね、あ(ry
- 213 名前:デフォルトの名無しさん :03/10/18 21:20
- (*´д`*)アハァ?
- 214 名前:デフォルトの名無しさん :03/10/18 21:47
質問です。
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
drive1でCドライブやDドライブを選ばせてフォルダ構造をツリー状に
表示する代表的なやり方なんですが
どうもCドライブを選択したらルートじゃなくて
C:\Program Files\Microsoft Visual Studio\VB98になってしまいます。
VBをインストールしているからだと思うのですがルートを選ばせる方法を教えてください
- 215 名前:デフォルトの名無しさん :03/10/18 22:00
- >>214
Form_Load で「ChDir "C:\"」
- 216 名前:デフォルトの名無しさん :03/10/18 22:01
- >>214
\付けれ
- 217 名前:デフォルトの名無しさん :03/10/18 22:04
- フォームの数を動的に増やせますか?
例えば、Form1からForm2を複数個表示するようなことは出来るのでしょうか?
- 218 名前:デフォルトの名無しさん :03/10/18 22:20
- >>217
無理に決まってるだろ。
- 219 名前:デフォルトの名無しさん :03/10/18 22:27
mnuEditCopyに切り取りのコマンドを書きたいのですが
どうやってかくの?Clipboardの後がわからん。教えてくれ
- 220 名前:デフォルトの名無しさん :03/10/18 22:38
- >>217-218
Dim Forms(...) as Form2
Set Forms(1) = New Form2
Forms(1).Show vbModeless
Set Forms(2) = New Form2
Forms(2).Show vbModeless
...
とやるだけじゃないの ?
- 221 名前:217 :03/10/18 22:50
- >>220
うおっ!出来ました。
かなり検索してたけど、見つからなかった・・・
ありがとうございましたm(_ _)m
- 222 名前:デフォルトの名無しさん :03/10/18 23:49
- 質問です。
VBEでマウスのスクロールをできるようにするにはどうすればよいのでしょうか?
お願いします。
- 223 名前:デフォルトの名無しさん :03/10/19 00:05
- >>222
どこでもホイール
http://www.vector.co.jp/soft/win95/util/se044875.html
他に良いのがあったら教えてホスイ
- 224 名前:222 :03/10/19 00:27
- >>223
早速ありがとうございます。
これがあるとないとでは大違いです。
- 225 名前:デフォルトの名無しさん :03/10/19 03:38
- >>223
マウス付属のユーティリティ。
マウスが限定されるがMicrosoftのマウスなら
付属しているIntelliPointで動く。
- 226 名前:1 ◆ExGQrDul2E :03/10/19 11:16
- マイクロソフトと親しいオレはインテリマウスを
マイクロソフトからプレゼントされたな。
インテリマウスけっこうでかいよね。
- 227 名前:デフォルトの名無しさん :03/10/19 14:14
- ピクチャーボックスに読み込んだ画像中の線を
マウスでD&Dすると、線が伸縮(補間もしたいです)するようにってできますか?
画像処理っぽいのですが、さっぱりです・・。
どなたかよろしくお願いします
- 228 名前:デフォルトの名無しさん :03/10/19 14:16
- >>227
かなり難しいよ?
- 229 名前:デフォルトの名無しさん :03/10/19 15:49
- >>228
かなりですか・・。
よろしければ、参考になるWebページ等ありましたら
教えていただけませんか?
よろしくお願いします。
- 230 名前:デフォルトの名無しさん :03/10/19 16:35
- >>229
「ビットマップからベクトル」 へ変換して処理する事となりそうな。
詳しくはGoogleに一度聞いてからどうぞ。
- 231 名前:デフォルトの名無しさん :03/10/19 17:07
- >>230
ありがとうございます。
少し勉強してきます。
- 232 名前:デフォルトの名無しさん :03/10/19 19:41
- 「visual basic 画像処理プログラミング」風工舎、Rod Steaphens
↑
これがお奨め
- 233 名前:デフォルトの名無しさん :03/10/20 00:14
- フォームの背景の画像をそのまま
ピクチャボックスに持って行きたいのですが、
Picture1.Picture = Form1.Picture
とやってもうまくいきません。
何かもっと別のことをしなくてはいけないのでしょうか。
教えてください。
- 234 名前:デフォルトの名無しさん :03/10/20 01:36
- >>233おれの VB6.0 SP5 だとちゃん動作したぞ
Picture1.Picture = Form1.Picture
- 235 名前:233 :03/10/20 01:51
- なんででしょう?
とか思ってもう一回やったらちゃんとできました。
何がおかしかったのでしょうか・・・??
いろいろ、ScaleModeとかいじってたのですが、それが悪かったのですかね・・・?
とりあえず、>>234さんお手数おかけしました。
- 236 名前:デフォルトの名無しさん :03/10/20 07:32
- VB.NETとVB6.0を両方インストールするハードディスク容量がなく、
VB6.0の方を選んだオレ
- 237 名前:デフォルトの名無しさん :03/10/20 08:10
- 数日前か行き詰まっています。どなたか教えて頂けると幸いです。
Private Sub Command1_Click()
Dim isSucess
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://login.yahoo.co.jp/config/login?.lg=jp&.intl=jp"
With objIE.Document
.getElementsByName("login").Item(0).Value = "yahooid" ' Yahoo ID
.getElementsByName("passwd").Item(0).Value = "yahoopass" ' パスワード
isSucess = .Forms(0).submit()
End With
End Sub
だと、ユーザーIDとパスワードが入力できて、ログインできるんだけど、
WebBrouwserコントロールを貼り付けて、
Private Sub Command2_Click()
Dim URLocation As String
WebBrowser1.Navigate "http://login.yahoo.co.jp/config/login?.lg=jp&.intl=jp"
WebBrowser1.Document.getElementsByName("login").Item(0).Value = "yahooid" ' Yahoo ID
WebBrowser1.Document..getElementsByName("passwd").Item(0).Value = "yahoopass" ' パスワード
WebBrowser1.Forms(0).submit()
End Sub
と書くと、WebBrowser1.Document.getElementsByName("USER_NAME").Item(0).Value = "overrun"
のところで、「オブジェクト変数またはWithブロック変数が設定されていません。」とでて止まってしまいます。
WebBrowserコントロールの使い方が間違ってるんでしょうか?
- 238 名前:デフォルトの名無しさん :03/10/20 09:05
- TCPでdoubleの数値を送るコンソールプログラムを作ってお
ります。ですが、send()はchar
*でないと遅れないらしく、double
をcharに変換できたら・・とおもっております。
そこで、doubleからcharに変換する方法、教えていただけます
か?
使用環境
OS:windows98
CPU:1.4GHz
ソフト:VC++6.0
- 239 名前:デフォルトの名無しさん :03/10/20 12:59
- >>238
スレタイトルを1000回くらい読んでからにしてくれ。
- 240 名前:デフォルトの名無しさん :03/10/20 14:28
- PDFファイルを表示するプログラムを作成しています。
今はacrobat readerないにある"pdf.ocx"をactive x コントロールとしてフォームに貼り付けて
次のコードを使って表示しています。
Private Sub Command1_Click()
dim filepath as string
filepath = C:\サンプル\REPORT\REPORT03.PDF"
Pdf_main.LoadFile (filepath) ’コントロールにフルパスを渡してこの命令を行いとコントロールに表示
End Sub
このコードで表示までできるんですが、
再度表示し続けると、表示速度が遅くなります。
調べてみるとAcroRD32.exeがリソースから終了せず、
(つまりアクロバットリーダーが起動し続けている状態と同じ)
メモリから開放されていないようなのです(タスクマネージャーで見ました)
終了したときにAcroRD32.exeを終了させて常に表示する、
もしくはほかの方法で表示やプログラムを終了させても
速度を遅くならないようにするにはどうすればいいのでしょうか。
開発環境は
OS:win2000
VB6.0SP5
です。
初心者の長文質問ですみませんがご教授お願いします。
- 241 名前:デフォルトの名無しさん :03/10/20 14:37
- そのOCXの仕様がわからないから適当だけど、LoadFileの対の関数ってないの?
ファイルを開放するようなイメージの関数。
上記だけ見ると、ファイルオープンしっぱなしだからじゃないの?って感じが。
- 242 名前:デフォルトの名無しさん :03/10/20 15:19
- >>241さん
探してみましたが、それらしきものは見つかりませんでした。
ほかの方法としてこのようなことをしてみたんですが、
終了処理中に
Private Sub Form_Unload(Cancel As Integer)
dim obj as object
Set obj = pdf_ctrl.object
Set obj = Nothing
End
End Sub
PDFコントロール内にあるこのobjectという関数をobject宣言した変数に格納し、
それをメモリから開放したんですが、余計遅くなりました(メモリからAcroRD32.exeは終了しましたが。)
- 243 名前:デフォルトの名無しさん :03/10/20 15:23
- >>242です。間違えましたこっちでして見ました。
×set obj = pdf_ctrl.object
↓
○set obj = pdf_ctrl.Parent
- 244 名前:デフォルトの名無しさん :03/10/20 16:07
- >>237
質問しているところのコードがCommand2_Click内にないので、いまいち質問の意味がよく
わからん。よって、以下は推測で答えてみる。
WebBrowser1.Document.getElementsByName("USER_NAME").Item(0)
の、どのレベルでオブジェクトがないって言われているか調べてみ。WebBrowser1は多分ある
よね。以下、
1. WebBrowser1,Documentはあるか(つまり、XMLを読み込めているか、XMLはWell
Formedか、ちゃんとルートがあるか)
2, USER_NAME という要素(エレメント)はあるか
いまのコードの書き方だとかなり階層を辿っているので、どこでエラーが発生している
のかいまいち分かりにくい。XMLの(少なくともデバッグの時は)
Dim TestElement as Object
Set TestElement = WebBrowser1.Document
If (TestElement Is Nothing) Then
MsgBox "WebBrowser1.DocumentはNothingだ"
End If
とか言う風にするなり、もっとかっこ良くラッパークラス作るなりしてデバッグしやすくする方が
吉だと思う。
- 245 名前:デフォルトの名無しさん :03/10/20 17:04
- VB6でOLEでExcel2000を操作しています。その中の処理で、
「あるシートの中の数式を全部消したい(値はそのまま残したい)」というのが
あるんですが、現在は
・範囲を選択
・クリップボードにコピー
・値だけ貼り付け
という手順を踏んでいます。
これでも動作しているのですが、何百、何千というExcelファイルに対して
このような処理を行っていると、クリップボードがしじゅう書き換えられているために、
バックグラウンドでこの処理を動かしておいて、他の作業を行うということができずに
困っています。
そこで、クリップボードを介さずに、Excelシートの式の部分を削除するはないものか と
思ったのですが、ご存知の方、ご教示ください。
下のが現在の処理の抜粋です
' データ選択
Call sheetData.Rows("10:" & CStr(GetMaxRows)).Select
' クリップボードへコピー&値だけにして貼り付け (式の削除)
Call xls.Selection.Copy
Call xls.Selection.PasteSpecial(Paste:=xlValues)
- 246 名前:デフォルトの名無しさん :03/10/20 17:08
- >>242
連続処理をするならば、イメージ的には・・・。
1.PDFの起動
2.ファイルの起動
3.印刷
4.まだあるなら2へ
5.PDFの終了
とすればいいと思うんだけど。
(クロスしてスレに出てるるEXCELの処理と同じような感じなんだけどね)
- 247 名前:デフォルトの名無しさん :03/10/20 17:29
- >>237 DocumentCompleteイベントが来るまで待て。
- 248 名前:245 :03/10/20 17:31
- >>245の件ですが、発想の転換で、Excel Applicationの
自動計算をオフにすることで解決しました。というか、むしろ
こっちのほうが正常・スマートなやり方ですね・・・・
xls.Calculation = xlCalculationManual
でも、一気に式を消すような方法があるようでしたら、ものはついで?
なので、今後のためにご教示願います。
- 249 名前:デフォルトの名無しさん :03/10/20 19:03
- ┌┬┐
├┼┤→□
└┴┘
一枚の画像の中に複数の絵が描いてあり、その中から絵の一枚を取り出すコントロールはなんというやつですか?
- 250 名前:デフォルトの名無しさん :03/10/20 19:19
- >>249
もしかしてレイヤーをイメージしているのか?
単純な絵の中から一枚を取り出すのは難しいと思うが。
- 251 名前:デフォルトの名無しさん :03/10/20 19:23
- >>250
単純なひとつのレイヤーしかない一層の絵です。今日古本屋で立ち読みした本に載ってたんですけど、また見てきてからここに報告してきます。
- 252 名前:デフォルトの名無しさん :03/10/20 19:47
- BitBlt
- 253 名前:デフォルトの名無しさん :03/10/20 19:59
- >>252
自作のプログラムならそうなるところですが、別売のコントロールだとすごく簡単にできちゃうのがわかったんですけど、立ち読みだったのでうろ覚え・・・
- 254 名前:デフォルトの名無しさん :03/10/20 21:38
- BitBltとUserControlで自作すれば?
- 255 名前:デフォルトの名無しさん :03/10/20 21:43
- その別売りのコントロールってなに?
- 256 名前:デフォルトの名無しさん :03/10/20 22:06
- >>254-255
APIはまだ使ったことないのでしばらくはBitBlt保留で。
また本屋行って調べてくるので、コントロール名についてはまたのちほど。
- 257 名前:237 :03/10/20 22:15
- >Dim TestElement as Object
>
>Set TestElement = WebBrowser1.Document
>If (TestElement Is Nothing) Then
>MsgBox "WebBrowser1.DocumentはNothingだ"
>End If
>
>とか言う風にするなり、もっとかっこ良くラッパークラス作るなりしてデバッグしやすくする方が
>吉だと思う。
やってみたところ、
WebBrowser1.Document.getElementsByName("login") はOKで。
WebBrowser1.Document.getElementsByName("login").Item(0) がだめだった。
ってことはItem(0)という指定方法が間違ってるのか・・・
- 258 名前:デフォルトの名無しさん :03/10/20 22:27
- >>257
ItemをItemsとしてコレクションにするのはどうだ?
- 259 名前:デフォルトの名無しさん :03/10/21 01:29
- 初めまして。
バーコードスキャナーの購入を計画しております。
目的はAccessとの連携で在庫管理にでもと。
そこでお聞きしたいのですが
VB上でバーコードスキャナーからのデータを簡単に扱えるのでしょうか?
そういったコントロールみたいな物があって容易に数値を取り出せればいいのですが。
- 260 名前:デフォルトの名無しさん :03/10/21 01:44
- >>259
VB対応と書いてあるバーコードを買えば一発。
- 261 名前:259 :03/10/21 02:20
- レスどうも。
>>VB対応と書いてあるバーコードを買えば一発。
ということは付属のソフトを使えば楽だが、
自作では容易にはいかないと言うことでしょうか?
中古も検討しておりまして
付属品が「本体とドライバー」の場合はどうかと思いまして。
- 262 名前:237 :03/10/21 07:33
- 少し解決しました。
ページの読み込みとフォームへの入力を別にすれば動きました。
Private Sub Command1_Click()
WebBrowser1.Navigate "http://login.yahoo.co.jp/config/login?.lg=jp&.intl=jp"
end sub
Private Sub Command2_Click()
WebBrowser1.Document.getElementsByName("login").Item(0).Value = "yahooid" ' Yahoo ID
WebBrowser1.Document..getElementsByName("passwd").Item(0).Value = "yahoopass" ' パスワード
WebBrowser1.Forms(0).submit()
End Sub
ページの読み込みが完了していないのに、入力しようとしているからだめだったんですかね。
これを一つのボタンでやりたいんですが、
読み込みが終わるまでウェイトをかけることのってどうやればいいんでしょうか?
- 263 名前:デフォルトの名無しさん :03/10/21 08:43
- >>261
製品(バーコードスキャナ+付属品)による。
VB用ライブラリがついていれば簡単にあつかえるし、
C用ライブラリがついていればたぶん使える。
ライブラリが無くて通信ポートでやり取りしろとマニュアルに
やり方が書いてあるかもしれないし、
なにもついていなくて四苦八苦しなければならないかもしれない。
- 264 名前:デフォルトの名無しさん :03/10/21 08:45
- >>262
WebBrowserのプロパティを調べれ
- 265 名前:デフォルトの名無しさん :03/10/21 09:32
- スキャナとのI/Fがキー入力のものを探せば、何もいらないと思うが。
- 266 名前:デフォルトの名無しさん :03/10/21 09:57
- つか最近主流のUSBバーコードリーダは殆どがキー入力
- 267 名前:デフォルトの名無しさん :03/10/21 10:34
- >>261
263の言う通りだが、VB対応と書いてあれば259のようにコントロールがついていると言う
意味で付属ソフトを使うと言う意味ではない。
- 268 名前:デフォルトの名無しさん :03/10/21 11:47
- APIかVBか迷いましたが、こちらにて質問させていただきます。
フォームにピクチャーボックスとタイマーを貼り付けて拡大鏡を作りました。
しかし、しばらくはうまく動いているようにみえるのですが時間がたつとStretchBltしたところで
「実行時エラー"AutoRedrawイメージを作成できません。"」とのエラーが出てしまいます。
これはメモリ不足?どこかでリリース洩れしてるってことなんでしょうか?
APIはAPIビューアの宣言のまま、ピクチャーボックスの設定は
AutoRedraw = True
hasDC = True
ScaleMode = ピクセル
としております。
どなたかよろしくお願いいたします。
- 269 名前:268 :03/10/21 11:48
- Private Sub Timer1_Timer()
Dim lhDc As Long
Dim lRes As Long
Dim lCur As Long
Dim po As POINTAPI
Dim icn As ICONINFO
' タイマーオフ
Timer1.Enabled = False
' カーソル情報取得
GetCursorPos po
' ピクチャボックス消去
Picture1.Cls
' デスクトップからピクチャボックスへ拡大表示
lhDc = GetDC(0&)
lRes = StretchBlt(Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, _
lhDc, po.x, po.y, Picture1.ScaleWidth / 2, Picture1.ScaleHeight / 2, SRCCOPY)
lRes = ReleaseDC(0&, lhDc)
' アイコンをピクチャボックスへ拡大表示
lCur = GetCursor
GetIconInfo lCur, icn
lRes = DrawIconEx(Picture1.hdc, -(icn.xHotspot * 2), -(icn.yHotspot * 2), lCur, 64, 64, 0&, 0&, DI_NORMAL)
' 表示
Picture1.Refresh
' タイマーオン
Timer1.Enabled = True
End Sub
- 270 名前:デフォルトの名無しさん :03/10/21 12:41
- VBの実行時エラー63てどんなエラーなのでしょうか?
店で発生しているためオペレーションなどがわからず
このエラー番号だけ教えられ原因がわかららない状況です.
実行時エラーの一覧などあるのでしょうか?
ネット検索、過去ログでも見つからないので
わかる方いましたらよろしくお願いします.
- 271 名前:デフォルトの名無しさん :03/10/21 12:46
- >>1の「六. VB情報募集中。」というのはVBについてであれば質問や回答でなくても書き込んでいいということ?
- 272 名前:デフォルトの名無しさん :03/10/21 12:47
- >>270
ヘルプで、1分でわかったが。。。
「レコード番号が不正です。(Error 63)」
- 273 名前:デフォルトの名無しさん :03/10/21 12:48
- GetDCしたもののお片づけは?
- 274 名前:デフォルトの名無しさん :03/10/21 12:49
- ごめん、してあったね。
- 275 名前:デフォルトの名無しさん :03/10/21 13:10
- え・・・
ありがとうございました.
ヘルプにあるんですね。
いまだに見つからないです・・・
がこの内容で調べてみます.
本当にどうもでした
- 276 名前:デフォルトの名無しさん :03/10/21 13:49
- >>275
普通にErrのDescriptionを見るとか、Error関数にError番号を渡すとか。
- 277 名前:268 :03/10/21 14:54
- どうやらアイコンの描画でつまづいているようです。
' アイコンをピクチャボックスへ拡大表示
lCur = GetCursor
GetIconInfo lCur, icn
lRes = DrawIconEx(Picture1.hdc, -(icn.xHotspot * 2), -(icn.yHotspot * 2), lCur, 64, 64, 0&, 0&, DI_NORMAL)
この3行をコメントにするとエラーが発生しなくなりました。
う〜ん、DrawIconExの遣い方が間違ってるのでしょうか。。。
仕方がないので(カーソルの形が変わらないのが残念ですが)、
今回はマウスカーソルが差している場所さえわかればいいので
カーソル画像(Picture2)とマスク画像(Picture3)を用意しておいて
lRes = StretchBlt(Picture1.hdc, 0, 0, Picture3.ScaleWidth * 2, Picture3.ScaleHeight * 2, _
Picture3.hdc, 0, 0, Picture3.ScaleWidth, Picture3.ScaleHeight, SRCPAINT)
lRes = StretchBlt(Picture1.hdc, 0, 0, Picture2.ScaleWidth * 2, Picture2.ScaleHeight * 2, _
Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, SRCAND)
として対処したいと思います。
- 278 名前:デフォルトの名無しさん :03/10/21 15:49
- げっとかーそるでとったハンドルのお片づけとか。
- 279 名前:268 :03/10/21 17:20
- >>278
GetCursorで取ったハンドルもリリース(デリート?)しないと駄目だったのでしょうか?
ヘルプにはなにも書かれていなかったのでとくになにもしなかったのですが…
ただ、GetCursorのヘルプをよくみると
Windows 98 および Windows NT 4.0 SP3 以降:
グローバルカーソルに関する情報を取得するには、
たとえ現在のスレッドがそのカーソルを所有していない場合でも、
GetCursorInfo 関数を使います。
とあるので、他のウィンドウがカーソルを所有しているときには
GetCursorで取ったハンドルが無意味なものだったのかなと思い修正してみました。
' アイコンをピクチャボックスへ拡大表示
pci.cbSize = Len(pci)' pci は CURSORINFO構造体
GetCursorInfo pci
GetIconInfo pci.hCursor, icn
lRes = DrawIconEx(Picture1.hdc, -(icn.xHotspot * 2), -(icn.yHotspot * 2), pci.hCursor, 64, 64, 0&, 0&, DI_NORMAL)
これでちょっと様子を見てみます。
- 280 名前:デフォルトの名無しさん :03/10/21 17:52
- >>279
いや、書いてみただけ・・・、でもまあ、このあたりのAPIって借りたものは返すが基本だったから。
CloseHandleとかはちがうだろうし。
- 281 名前:デフォルトの名無しさん :03/10/21 20:06
- 262はレスを無視する場合があるのでおしえな〜い
- 282 名前:259 :03/10/21 22:14
- バーコードスキャナーの件参考になりました。
- 283 名前:デフォルトの名無しさん :03/10/22 04:54
- 最近作ったツール(VB)ソースのみ(コンパイルは自己責任で)
コメントもないけれど中身は単純なもの。
使い勝手が良いので、うpさせてもらう。
(・∀・)イイ!!と思ったらお好みにカスタマイズして使ってやってくれ。
俺のデスクトップには4つしかアイコンが残らなくなった
http://up.isp.2ch.net/up/618cbe41eb16.lzh
概要:SUSIEみたいな感じで設定したショートカット郡を表示
及び、ショートカットの登録アプリ。いくつかのサンプル設定
探せば便利なフリーソフトぐらいあるかもしれないが
- 284 名前:デフォルトの名無しさん :03/10/22 14:47
- DLLのバージョンを調べるコードなのですが、XPでコンパイルしたEXEを98SE上で走らせると「実行時エラー'438' オブジェクトは、このプロパティまたはメソッドをサポートしていません」
エラーが発生、EXEが落ちる、という現象が起こってしまいます。
コーディングでFSOを使用していて、scrrun.dllの場所が98系とNT系で違うのでこの現象が起こってしまうのではないか、
と睨んでいますが、回避方法がわかりません。調べてみたところ、
「VBScriptで標準入出力を処理するには、Windows Script Hostのバージョンが5.1以降の必要があります」
とありまして、困っています。
そこで、クライアントマシンの環境は変更しないとして、
1:FSO使用でコーディング上にて回避可能?またその方法?
2:1は無理でAPI使用にて回避
3:もっといい手がある
のどれにあたりますでしょうか?
また、どういった方法で実現可能でしょうか?
よろしくお願いします。
環境:[クライアント]
Windows98SE,VB6標準ランタイム
scrrun.dll[ver:5,0,0,3715 , c\windows\system]
[コーディング]
WindowsXPSP1(フルパッチ),VB6SP5
ソース内でFSOを使用
[ソースの一部]
Dim Fso As New FileSystemObject
Dim FsoFile As File
Dim sMyFile As String
Set myFile = Fso.CreateTextFile(sFilePass)
myFile.WriteLine (Now & " : " & sWriteMes)
myFile.Close
Set myFile = Nothing
- 285 名前:デフォルトの名無しさん :03/10/22 16:45
- CreateObjectでFileSystemObjectを生成してみるとかは?
全部Object型でやる。
- 286 名前:284 :03/10/22 17:03
- >285さん
Dim Fso As Object
Dim FsoFile As File
Set Fso = CreateObject("Scripting.FileSystemObject")
とやってみたのですが、結果は一諸でした(;´Д`)
- 287 名前:デフォルトの名無しさん :03/10/22 17:24
- 文字列の限られた範囲だけを表示するのってどうすればいいんでしょうか?
たとえば「DARS」という文字列があったとして、真ん中二文字「AR」のみを他の変数に置き換えたいときとか。
- 288 名前:デフォルトの名無しさん :03/10/22 17:42
- OCXを作成していて、
コントロールモジュールでは UserControl のプロパティを参照したりセットできるのですが、
UserControl.AutoRedraw = True ←こんな感じで
しかし新しくクラスを作成しその中で、UserControl のプロパティやメソッドを参照の
しかたが解りません教えてください。
今のコード書いておきます。
Public pPaints As cls
Public ParentForm As Form
Private Sub UserControl_Resize()
Set pPaints = New cls
Set ParentForm = UserControl.Parent
pPaints.PicHei = UserControl.ScaleHeight ←コントロールモジュールなら参照できる
pPaints.PicWid = UserControl.ScaleWidth '// スケール取得
UserControl.Scale (0, pPaints.PicHei)-(pPaints.PicWid, 0) '// Y方向を逆にする
pPaints.TrgetObj = ParentForm ←ここでいろいろしてみたけどできませんでした。現時点では
OCXを貼り付けたフォームを参照してるだけ
pPaints.適当な処理 '// メソッド呼び出し
End Sub
'// クラス側 //
Private mTrgetObj As Object
Property Let TrgetObj(ByRef Obj As Object)
Set mTrgetObj = Obj
End Property
Public Sub 適当な処理
mTrgetObj.DrawMode = 7 ここでエラー
End Sub
- 289 名前:デフォルトの名無しさん :03/10/22 18:26
- >>287
strResult = Mid("DARS",2,2)
斜め読みでもいいから、入門書読んだようがいいかも。
- 290 名前:284 :03/10/22 20:42
- >287
ARを必ず何かに置き換えるのなら replace
今回のみ抜き出すのなら mid
毎回なにかするなら 正規表現
外してたらスマソ
- 291 名前:デフォルトの名無しさん :03/10/22 21:02
- Commandボタンで画像を左に表示することってできるんですか?
無理なら画像に文字を入れてやろうと思ってるんですが・・・
- 292 名前:デフォルトの名無しさん :03/10/22 21:26
- >>289
>>290
ありがとうございます。VB、midで検索したところまさしく自分のやりたかったことを教授してくれているページが見つかりました。やはりコード集のようなものを買わなければいけないなと思いました。
- 293 名前:デフォルトの名無しさん :03/10/22 21:29
- コード集?ハァ?
- 294 名前:デフォルトの名無しさん :03/10/22 22:05
- VBスレは良く煽り厨が出てくるねw
- 295 名前:デフォルトの名無しさん :03/10/22 22:36
- 今日はドットネットでプログラムつくったさっ!わっはっはっはっは
オマエラ知ってるか?ドットネットではDLL使うとき、DLLのファイル名も指定しないとなんないんだぞ!
ところでポケットPCでサーバー/クライアントのシステムって作れるの?
ぽけっとPCのODBCとか0040とか聞いたこと無いんだけど
- 296 名前:デフォルトの名無しさん :03/10/22 22:49
- 氏ね
- 297 名前:デフォルトの名無しさん :03/10/22 22:51
- ( ´,_ゝ`)...シルカヨ
- 298 名前:デフォルトの名無しさん :03/10/22 22:56
- >>291
サブクラス化すればできるはず。
面倒ならDelphiかBCBのコントロールを
適当にかっぱらってきて再利用w
- 299 名前:デフォルトの名無しさん :03/10/22 23:18
- ピクチャーボックスにUnicodeの文字を表示させようとしたのですが、
殆どの文字では正常に表示できるのですがいくつか表示できなかったり別の
文字に置き換わって表示されてしまいます。
例えば、U+5DEE(「差」という文字)を指定すると何故か「移」が表示されてしまいます。
これはどういうことなのでしょうか?
原因が分かる方教えてくだされば幸いです。
Private Sub Command1_Click()
Dim hOldFont As Long
Picture1.Cls
hOldFont = SetFont(Me.hWnd, Picture1.hDC, 26, "SimSun")
Call ExtTextOut(Picture1.hDC, 0, 0, 2, ByVal 0&, StrConv(ChrW$(&H5DEE), vbUnicode), 2, 0)
Call DeleteObject(SelectObject(hDC, hOldFont)) ' 新しいのを破棄
End Sub
Private Function SetFont(ByVal hWnd As Long, ByVal hDC As Long, ByVal nPoint As Long, ByVal lpFontName As String) As Long
Dim hFont As Long
Call SetMapMode(hDC, 1)
hFont = CreateFont(-nPoint * 20 \ Screen.TwipsPerPixelX, 0, 0, 0, 400, 0, 0, 0, 1, 0, 0, 0, 0, lpFontName)
Call SelectObject(hDC, hFont)
SetFont = SelectObject(hDC, hFont) ' 一つ前のフォントを返す
Call SendMessage(hWnd, &H30, hFont, 1)
End Function
- 300 名前:デフォルトの名無しさん :03/10/22 23:38
- .NET使えよバーカ。
- 301 名前:デフォルトの名無しさん :03/10/22 23:42
- 今まで手動でしていたHP上の複数のhtml文書の結合を自動化しようと思いました。
(主にライバル店舗の商品一覧です(笑)
WebBrowserコントロールを使っているのですがうまくいきません。
最初にページを表示してからボタンにより結合処理をすると上手くいくのですが(サンプル1)
ページの表示とともに結合処理をすると失敗します。(サンプル2)
なんでですかね?
表示より先に結合してしまいます。
スレ見ていたら262当たりのことが関連している気がするのですが…
結合する文書が多数になる場合もあるので、その文書分のコントロールを用意するわけにもいきませんし。
アドバイスを。
- 302 名前:301 :03/10/22 23:43
- (サンプル1)
Private Sub Command1_Click()
WebBrowser1.Navigate HtmlURL(0).Text 'HP表示
WebBrowser2.Navigate HtmlURL(1).Text
End Sub
Private Sub Command2_Click()
Dim HtmlURLString As String
HtmlURLString = WebBrowser1.Document.body.innerHTML & WebBrowser2.Document.body.innerHTML
RTextBox1.Text = HtmlURLString 'リッチテキストにhtml文書を表示
End Sub
(サンプル2)
Private Sub Command2_Click()
Dim HtmlURLString As String
WebBrowser1.Navigate HtmlURL(0).Text
WebBrowser2.Navigate HtmlURL(1).Text
HtmlURLString = WebBrowser1.Document.body.innerHTML & WebBrowser2.Document.body.innerHTML
RTextBox1.Text = HtmlURLString 'リッチテキストにhtml文書を表示
End Sub
- 303 名前:デフォルトの名無しさん :03/10/22 23:52
- DoEvents入れてみたら?
- 304 名前:288 :03/10/22 23:58
- まだ問題解決できません。だれか答えられる方いませんか?
- 305 名前:284 :03/10/23 00:03
- 結局API使用にて解決しましたm(._.)m ペコッ
- 306 名前:デフォルトの名無しさん :03/10/23 00:16
- VBでDAOを使ってデータベースにアクセスしているのですが、
ユニークなIDの取得方法が
ID Field1
1 a
2 b
3 c
5 d
6 e
というテーブルがあったとき、次のIDは"7"ではなく、
"4"を取得したいのですが、方法がありますでしょうか?
つまりIDは、数値をどんどん増やすのではなく、削除などで
飛び飛びになってしまった所を埋めていく形にしたいのです。
- 307 名前:デフォルトの名無しさん :03/10/23 00:25
- >>288
なにを言っているのか理解できないのですが・・そうですかアホですか俺は
- 308 名前:307 :03/10/23 00:40
- 自己解決 >>288 Property Get
- 309 名前:288 :03/10/23 00:46
- >>308 自分でも Property Get プロシ−ジャを追加したのですが
うまくいかないです。よろしければコード教えてもらえますか?
- 310 名前:307@長くてすまん :03/10/23 01:01
- こういうこととちゃうんかな。どこでどういうエラーが出るか書いてくれ
[class1]
Private o As Object
Public Property Get obuje() As Object
obuje = o
End Property
Public Property Let obuje(ByVal vNewValue As Object)
Set o = vNewValue
End Property
Public Sub sub1(s As String)
o.Caption = s
End Sub
[form2](別にform1)
Private a As Class1
Private b As Class1
Private Sub Command1_Click()
a.obuje.Caption = 1
End Sub
Private Sub Command2_Click()
b.obuje.Caption = 2
End Sub
Private Sub Form_Load()
Set a = New Class1
Set b = New Class1
a.obuje = Form1
b.obuje = Form1
End Sub
- 311 名前:307 :03/10/23 01:02
- ミスッた。Getがエラー確認のままだ
Public Property Get obuje() As Object
Set obuje = o
End Property
- 312 名前:301 :03/10/23 01:07
- DoEventsって処理を一時中断する関数ですよね。
時間がかかるのは表示の方なのですが…。
- 313 名前:デフォルトの名無しさん :03/10/23 01:13
- WebBrowser1.ReadyStateやWebBrowser1.DocumentCompleteとかを
使ってページがすべて読み込まれるまで待機したら。
- 314 名前:デフォルトの名無しさん :03/10/23 01:29
- 301は表示しながら裏で結合したいのだろう
がんばれ、時空を歪めれば可能だ
- 315 名前:309 :03/10/23 01:41
- >>310
普通はそれでいけるんです。 オブジェクト型に Obj = Form1.Picture1
みたいにすればクラス内だろうがどこだろうが、 Obj.プロパティ で ピクチャボックスの
プロパティを参照したりセットできたりするのですが、
通常のEXE作成ではなく ActiveX作成でのことなんです。
ユーザーコントロールというものが与えられますよね?
そのユーザーコントロールモジュールの中で、
UserControl.プロパティ はもちろん参照できます。
問題はここからで
ユーザーコントロールモジュールでクラスを生成します。
Set A = クラス
A.ClsObj = UserControl ←ここでユーザーコントロールを代入したいわけです。
310さんの a.obuje = Form1 と同じことです。
<クラス内部>
Property Let ClsObj(ByRef Obj As Object)
Set ClsObj = Obj
End Property
Public Sub メソッド()
ClsObj.プロパティ ←ここでメソッドやプロパティがないみたいなこと言われたり
します
End Sub
ようは クラス内でユーザーコントロールを参照したいのに、フォームやピクチャーボックスみたいに
オブジェクト型変数=Form1
オブジェクト型変数.プロパティ みたいに参照できないということなんですが
この説明でなんとなくわかりましたでしょうか?
- 316 名前:デフォルトの名無しさん :03/10/23 01:55
- >>314
処理を早くするために次ページを読ませながら
HTMLを加工したことならあるけどね。
- 317 名前:299 :03/10/23 01:56
- 環境変えれってのは勘弁で…
- 318 名前:301 :03/10/23 02:14
- >WebBrowser1.ReadyStateやWebBrowser1.DocumentCompleteとかを
>使ってページがすべて読み込まれるまで待機したら。
アドバイスありがとうございます。
WebBrowserでヘルプ見たのに見逃しておりました。
何となく形になってきたので明日にでも試してみます。
- 319 名前:307 :03/10/23 02:37
- >>315
言いたいことは解った。やりたいことは判らん。
文にしようとするとゲルニカのようになる要望というものはあるものだし
どいつが実体を持ってて、どいつがどいつの親でと・・俺はお手上げだ。
不都合がなければソースを丸めてうp。
でなければ、その分野の達人を待ちつつ、独自に色々試すよりないか
第一感 可能。なんか見落としがあるんだろう
- 320 名前:デフォルトの名無しさん :03/10/23 02:37
- format("0.0", 0.05)
でPCによって返ってくる値が
0か0.1なんですが、なぜでしょう?
開発はVB6 SP5です。
ちなみに
winxp => 0
win2k => 0.1
win98SE => 0
でした。仕様かな?
- 321 名前:デフォルトの名無しさん :03/10/23 02:42
- format(expression,[format],... (XP)
?format("0.0",0.05) & " : " & format(0.05,"0.0")
0.05 : 0.1
- 322 名前:デフォルトの名無しさん :03/10/23 02:42
- >>320
仕様です。数値処理の四捨五入に文字列編集用のFormatを使うなと。
Windows XP 上での Format 関数の動作について
http://support.microsoft.com/default.aspx?scid=kb;ja;JP418691
- 323 名前:322 :03/10/23 02:46
- あれ? 仕様です。となっていたと思ったけどSP1で修正されました。になっているね。
- 324 名前:320 :03/10/23 09:09
- >321
delphiとごっちゃになってた須磨祖
>322
さんきゅ
今まで書いたFormat文は、無かったことにします。
- 325 名前:デフォルトの名無しさん :03/10/23 09:16
- >>286
解決したみたいだからあれだけど、それでは片手落ちだよ。
全てのFileSystemObject関連をObject型にしないと。=参照設定を外す。
- 326 名前:デフォルトの名無しさん :03/10/23 13:43
- VB6.0で現在時刻を正確に(ミリ秒まで)取得するのはどうすれば良いんでしょうか?
- 327 名前:デフォルトの名無しさん :03/10/23 13:57
- >>326
API使わないとムリ。GetLocalTimeだと思われ。
そのものズバリのサンプルも、ググれば出てくるよ。
- 328 名前:デフォルトの名無しさん :03/10/23 15:49
質問です。
MSHFlexGridコントロールを使っているのですが、
マウス左クリック→ドラッグで、グリッドがスクロールしてしまいます。
これをスクロールさせない方法はあるでしょうか?
いちおうScrollイベントやMouseMoveイベントを拾って、TopRowを設定するということをしたんですが、
これだと、マウスの動かし方によっては、動いて戻ってる様子がチラッチラッと見えるときがあるんです。
できればチラチラせずにスクロールさせないようにしたいのですが。
ここでReDrawもつかってみましたが、チラチラはしないものの、表示行の先頭行や最後行の残像が、
表示行全体に移ってしまうみたいな結果になってしまいました。
なんとかうまいことやる方法はないでしょうか。
- 329 名前:デフォルトの名無しさん :03/10/23 17:44
- VB6.0でWinNTやWin2000のサービスプログラムって作れますか?
作れるのでしたら、プログラムのサービスへの登録方法を教えて下さい。
- 330 名前:デフォルトの名無しさん :03/10/23 19:50
- >>329
オレは別に社員じゃないが、
ttp://www.grapecity.com/japan/support/database/P1_105_9320_News.htm
他にも探せばあった気がする。
- 331 名前:デフォルトの名無しさん :03/10/23 19:57
- MSDNにサービスとして登録する方法かツールがあった気がする。
- 332 名前:デフォルトの名無しさん :03/10/23 20:04
- >>331
リソースキットのSRVANYですな。
「桜時計を サービス化」などでぐぐると色々でてくるけど、VBアプリにも
使えるのかしらん。人柱きぼん
- 333 名前:301 :03/10/23 21:35
- WebBrowserコントロールを使ったhtml文書の結合なんですが
DocumentCompleteを使うことで上手くいきました。
と思ったのですが新たな問題が…
一度保存して終了した後に再度読み込んで起動すると
「実行時エラー'91' オブジェクト変数またはWithブロック変数が設定されていません。」
といったエラーが。
何故??
以下に結合処理などをのぞいたサンプルを。
- 334 名前:301 :03/10/23 21:35
- Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.google.co.jp/"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Text1.Text = WebBrowser1.Document.body.innerHTML
End Sub
-----
Command1_Click()ではなくてForm_Load()にすると問題ないのですが…
- 335 名前:デフォルトの名無しさん :03/10/23 22:01
- >>306
ID全件検索直後にRecordsetを渡せば、最小空き番号を返す関数を作ってみた。
Private Function GetAvailableMinNum(RS As DAO.Recordset) As Long
Dim lngCnt As Long
lngCnt = 1
Do Until RS.EOF
If RS!ID > intCnt Then Exit Do
lngCnt = lngCnt + 1
RS.MoveNext
Next
RS.MoveFirst
GetAvailableMinNum = lngCnt
End Function
- 336 名前:デフォルトの名無しさん :03/10/23 22:02
- >>334
回答じゃないけど、Microsoft HTML Object Libraryを参照設定して
Dim html As IHTMLDocument3
Set html = WebBrowser1.Document
とかやるとアーリーバインディングになってコード補完も使えるから便利だよ。
- 337 名前:デフォルトの名無しさん :03/10/23 22:10
- >>335
それだとデータが多くなって大きなIDが削除されると検索に時間がかかるから
削除IDを入れるテーブルを作ったほうが良いかも。
あと思いただけで詳しいアルゴリズムは考えてないけど、
二分探索の応用っぽいやりかたで高速に空きIDを探索できるかも。
データが全部埋まっていればデータ数と最後のIDは同じ。
そうでなければ半分の位置を調べてそのIDが半分かどうか、
そうでなければ・・・みたいに。
- 338 名前:335 :03/10/23 22:10
- 修正・・・
Private Function GetAvailableMinNum(RS As DAO.Recordset) As Long
Dim lngCnt As Long
lngCnt = 1
Do Until RS.EOF
If CLng(RS!ID) > lngCnt Then Exit Do
lngCnt = lngCnt + 1
RS.MoveNext
Loop
RS.MoveFirst
GetAvailableMinNum = lngCnt
End Function
- 339 名前:335 :03/10/23 22:13
- >>337
読まずに>>338を書いてしまいましたm(_ _)m
「二分探索」について勉強してみます。
- 340 名前:デフォルトの名無しさん :03/10/23 22:17
- >>333
うろ覚えだけどDocumentCompleteは読み込みエラー時とかにも発生したと思う。
んで、Webbrowser1.DocumentがNothingになっていてとか。
どこのオブジェクトがないのか、そのときのWebbroserの各プロパティは
どうなっているのかとか調べてください。
- 341 名前:337 :03/10/23 22:22
- >>339
でもカーソルを前後にちょこちょこ移動しなくちゃならないから
逆に遅くなるかもね。削除IDテーブルを作る方が簡単で速度も速いと思う。
- 342 名前:デフォルトの名無しさん :03/10/23 22:28
- http://www.afis.to/~start/java/Gazou/Graphics/curveLine.html
ここにあるスクリプトなんですが、(3次スプライン曲線)
VB6の場合どのように書けばよいのでしょうか?
用意したPictureBoxに描きたいのですがさっぱりです・・。
どなたかよろしければお願いします。
- 343 名前:デフォルトの名無しさん :03/10/24 00:16
- Javaスレでも聞いたのですが
OLE/COM以外のアプリケーションに対して
バックグラウンドでsendkeysのような処理をしたいのですが
これを実現するメソッドを所持している言語ってありますか?
- 344 名前:デフォルトの名無しさん :03/10/24 00:33
- PictureBoxに二次曲線が書けるようになれば、すぐできるようになるとおもふ
- 345 名前:デフォルトの名無しさん :03/10/24 01:03
- 二分探索とかクイックソートとか。
プログラマの基礎項目からは外れてしまったのですか?
プログラマ入門は プログラミング+アルゴリズム+専門語学力(設計書の理解)
プログラミング入門は 標準入出力>ファイル操作>ポインタ(参照と実体)の理解
アルゴリズム入門は 順検索>泡ソート>二分探索>Qソート
- 346 名前:262 :03/10/24 01:20
- プロパティ見たけどわからなかった・・・
Do While WebBrowser1.Busy
DoEvents
Loop
よくわからないけどこれでいけた。
- 347 名前:301 :03/10/24 04:14
- 木陰様で何とか形にはなりました。
ただHPのページによってはフレームを使っていないにもかかわらず
二度以上取得していたりしてまだまだ課題が多い状態です。(いったいなぜ?)
>うろ覚えだけどDocumentCompleteは読み込みエラー時とかにも発生したと思う。
>んで、Webbrowser1.DocumentがNothingになっていてとか。
>どこのオブジェクトがないのか、そのときのWebbroserの各プロパティは
>どうなっているのかとか調べてください。
どうも私もそんな気がして最初はabout:blankにして回避しております。
各プロパティの状況はどうやって調べれるのでしょうか?
まだ入門書レベルの知識なため理解できておりません。
よければアドバイスを。
ちなみにつたないサンプルで恐縮ですがこんな感じでプログラムしました。
- 348 名前:301 :03/10/24 04:17
- Private Sub Command1_Click()
WebBrowser1.Navigate URLName(URLNum)
'Command1.Enabled = False
End Sub
Private Sub Form_Load()
URLNum = 0
URLName(0) = "about:blank"
URLName(1) = "http://www.yahoo.co.jp"
URLName(2) = "http://www.google.co.jp"
URLName(3) = "http://www.infoseek.co.jp"
WebBrowser1.Navigate URLName(URLNum)
RText1.Text = ""
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
URLData = URLData & WebBrowser1.Document.body.innerHTML
If URLNum = 0 Then
URLNum = URLNum + 1
Exit Sub
ElseIf URLNum >= 3 Then
RText1.Text = "<html>" & vbCrLf & "<body>" & vbCrLf & URLData & vbCrLf & _
"</body>" & vbCrLf & "</html>"
Exit Sub
Else
URLNum = URLNum + 1
WebBrowser1.Navigate URLName(URLNum)
End If
End Sub
一部字数の関係上削除しております。
- 349 名前:デフォルトの名無しさん :03/10/24 08:42
- > 各プロパティの状況はどうやって調べれるのでしょうか?
素直に、Debug.Print Webbrowser1.プロパティでもしたら?
- 350 名前:デフォルトの名無しさん :03/10/24 08:58
- よくわからんけどDoEventsでOKというのは、地雷の可能性大だな。
DoEventsってのが、どういうものかを考えれば、ほんとにそれでいいか、代替があるか判断できると思うけど。
- 351 名前:デフォルトの名無しさん :03/10/24 08:59
- >345
探索もソートもDBにお任せで実装はおろかアルゴリズムも
知らないプログラマはそうとう多いんじゃないかな。
- 352 名前:デフォルトの名無しさん :03/10/24 09:33
- .NETに厨房が移ったおかげか
ずいぶんまともなスレになってきたな
- 353 名前:デフォルトの名無しさん :03/10/24 09:38
- >>351
最近はどの言語もSTLとか探索やソートのライブラリがついているからねぇ。
- 354 名前:309 :03/10/24 09:52
- 自己解決しました。
やはりユーザーコントロールはプロパティ、メソッドを
マッピングしなければいけないみたいです。
OCXを使う側に公開する為にマッピングするものと思っていたらけど、
OCX作成の段階でマッピング(外部に公開)しないと、クラスはおろか標準モジュール
からも呼べないみたいです。お騒がせしました。
- 355 名前:デフォルトの名無しさん :03/10/24 10:51
- >>342
VBのリファレンス、APIリファレンスとともにアルゴリズムの入門書を
買ってくれといいたい。VBのリファレンス、APIリファレンスは買うがアルゴリズム本は
かわない人多い。
3次スプラインなら結構のってる本多いよ。
といいつつ
http://www5d.biglobe.ne.jp/~tomoya03/index.html
このあたりを参考にしてみたら?VBで補間を書いてあるのはここしか知らない。
あとは3次スプラインをググって頑張ってくれ。
- 356 名前:デフォルトの名無しさん :03/10/24 11:50
- >>353
でも、DBの場合は、素直に提供されている機能つかったほうがいいと思うなぁ。
もちろん、アルゴリズムなどは分かった上でだけど。
- 357 名前:307 :03/10/24 14:45
- >>354(>>309) 解決したようで
個人的にマッピングどうのって言葉知らずで解らないが。
exe+actx+ocxのスパゲッティを造ってみたので一応うp
ちょっとやそっとの客の要望なら作り方しだいで解決できるだろう
「Project1.exeを2〜3重に実行するとあっちやらこっちやら参照するアプリ」
ttp://up.isp.2ch.net/up/2d5578f8d682.lzh
(当然ながらレジストリに登録されないと動かせない、
あとでゴミを消す手段を知らない場合はactxやocxはお勧めできない)
- 358 名前:288=309=315=354 :03/10/24 15:35
- >>309
サンプル作成どーも。
目を通して、参考にしてみます。
マッピングは、ようはユーザーコントロールにプロパティやメソッドを追加することです。
ユーザーコントロールにコマンドボタンを貼り付けたとして、そのボタンのプロパティを
ユーザーコントロールのプロパティとして外部に公開することをマッピングというそうです。
ActiveX作成なんてやったことなかったから困惑しましたがなんとかいけそうです。
- 359 名前:288=309=315=354 :03/10/24 15:37
- >>309 じゃなくて >>357でした・・・
自分に宛ててどうする・・・
連夜の徹夜明けで頭がアフォになってました。
すいません。
- 360 名前:デフォルトの名無しさん :03/10/24 17:44
- typeでConstしたいんですが、どう記述すればいいのか教えてください。
イメージはこんな感じです。
Private Type XXX
Const AAA As String = "A"
Const BBB As String = "B"
End Type
Public YYY As XXX
- 361 名前:デフォルトの名無しさん :03/10/24 18:09
- Enum
- 362 名前:デフォルトの名無しさん :03/10/24 18:23
- enumは大文字小文字が固定されないので、
ダミーの関数を作成し、dim で同じ名称を定義するのをお勧めする
- 363 名前:デフォルトの名無しさん :03/10/24 18:26
- 素直にクラスモジュルー使っとけ!!
- 364 名前:デフォルトの名無しさん :03/10/24 18:45
- vb6はどこでDLできますか?
windowsダウンロードコーナーに行ってもリンク切れてました(泣
- 365 名前:デフォルトの名無しさん :03/10/24 18:58
- 切れてたページってどこ? MSDNに入ればダウンロードできるのかな?
- 366 名前:>364 :03/10/24 19:27
- Visual Basic .NET 2003
をDLしたが意味なかった
MSDNいっても似たような奴がいっぱいありすぎぃ
- 367 名前:デフォルトの名無しさん :03/10/24 19:50
- 似たようなのってなんだ?
- 368 名前:デフォルトの名無しさん :03/10/24 22:31
- http://www.microsoft.com/downloads/details.aspx?FamilyID=1ceb1b0d-24ac-4c66-bf45-0c79aa500c22&DisplayLang=ja
- 369 名前:デフォルトの名無しさん :03/10/25 05:27
- 教えてください〜(泣
VB6使ってます。
デザイナモジュールファイルをプロジェクトに取り込むにはDoしたらいいですか?
クラス {XXXXX-XXXXX}(コントロール XXXXX) はロードされていません。
というエラーが出ます。
よろしくお願いします。
- 370 名前:デフォルトの名無しさん :03/10/25 10:49
- 質問なんですが、
コマンドボタンの文字の色とか変えるのにはどうすればいいのですか?
- 371 名前:デフォルトの名無しさん :03/10/25 12:14
- IEのインターネットオプションの設定内容を変更するプログラムを
作りたいんですが、どんなAPIを使ったらいいか分かりません。
知ってる人がいたら教えてください。
- 372 名前:デフォルトの名無しさん :03/10/25 12:19
- >>371
インターネットオプションのどこ?
場所によってAPIを使ったりレジストリを使ったり。
セキュリティとかを変えるのはCOM使ってと面倒だったような。
資料少ないし。
- 373 名前:デフォルトの名無しさん :03/10/25 12:20
- 悪巧み?
- 374 名前:デフォルトの名無しさん :03/10/25 12:22
- >>373 は?
- 375 名前:デフォルトの名無しさん :03/10/25 12:26
- 設定勝手に変えられたらこまるじゃん?
- 376 名前:372 :03/10/25 12:33
- いや、画像表示をON/OFFしたいだけなんで。
インターネットオプションの「詳細設定」の中のパラメータを変える方法が
分かりません。
InternetSetOption()というwininet.dllのAPIはインターネットオプションの
一部のパラメータを変えられるんですが、画像のON/OFFはできません。
- 377 名前:デフォルトの名無しさん :03/10/25 12:34
- >>375 レジストリのアクセス方法聞いたら悪巧みになるのか?
- 378 名前:371 :03/10/25 12:35
- >>376の372は間違い。371でした。
- 379 名前:デフォルトの名無しさん :03/10/25 12:37
- >>376
画像のON/OFFはレジストリを変えるしかない予感。
レジストリへのアクセスをモニタする方法
http://www.atmarkit.co.jp/fwin2k/win2ktips/111regmon/111regmon.html
- 380 名前:デフォルトの名無しさん :03/10/25 12:39
- >>379
ありがとう。RegMonもいいけど、レジストリ差分取得ソフトがあるので
そっちでやってみます。
- 381 名前:デフォルトの名無しさん :03/10/25 12:42
- おまけ。読んでないし参考にならないだろうけど見つかっちゃったんでメモ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnie60/htm/whatsnewpublicpreview.asp
> Internet Explorer をアプリケーションの一部として使用する開発者に対しては、
> アプリケーションからプライバシー設定を制御する API を提供しています。
> 詳細については、 Internet Explorer 6 のプライバシー機能を参照してください。
↑この詳細は↓
http://www.microsoft.com/japan/msdn/library/ja/jpdnie60/htm/ie6privacyfeature.asp
- 382 名前:デフォルトの名無しさん :03/10/25 14:35
- レコードセットに排他ロックをかけるのはLockType=2とするだけなので簡単ですが、
Access.mdbというmdbファイル自身に排他ロックをかけるにはどのようなプログラムにすればよいのでしょうか?
- 383 名前:デフォルトの名無しさん :03/10/25 14:41
- >>382
OpenDatabase時の引数
- 384 名前:382 :03/10/25 14:47
- >>383
当方ADOしかできないのでADOのヘルプをみてそのキーワードを調べてみます。
- 385 名前:382 :03/10/25 14:54
- >>383
ADOで排他ロックをかけながらデータベースに接続するにはどうしたらいいんでしょうかね・・
ADOのconn.open の引数には
conn.open 接続文字列、ユーザID、パスワード、同期・非同期
という引数しかなく排他ロックを指定してopenできないみたいです。
- 386 名前:382 :03/10/25 15:24
- ファイルシステムオブジェクトにも
排他ロックをかけるメソッドがなかったし・・
- 387 名前:デフォルトの名無しさん :03/10/25 15:34
- 違うディレクトリに移してから接続して、終了したら元に戻せば排他。
- 388 名前:382 :03/10/25 15:58
- >>387
それも考えましたが、最終手段にしてみます。
今現在ASPのサーバサードスクリプトでVB Scriptを使っていて、
多数がアクセスするデータベースにアクセスのmdbファイルを使っていて、
ある一人がアクセスしている間はロックをかけてしまえばほかの人がmdbにアクセスできないので
mdbが壊れないというわけです。
ADO.NETやSQL Serverをつかわないで、ファイルにロックをかける方法を模索しています。
- 389 名前:382 :03/10/25 16:00
- ADOのStreamオブジェクトにModeプロパティがあり、
それには排他できる設定がありますが、
でもそれはOpenしたメモリ内のStreamにロックをかけるという意味で
Open元のファイルにロックをかけるという意味ではないようなのですがどうでしょうか?
- 390 名前:デフォルトの名無しさん :03/10/25 16:13
- DB板のURLはっとく
http://pc2.2ch.net/db/
- 391 名前:382 :03/10/25 16:14
- >>390
ありがとうございます。
ファイルシステムオブジェクトに排他ロックをかけるメソッドがあったら
どんなファイルでも1人しかアクセスできないようにできてよかったのにな。
- 392 名前:デフォルトの名無しさん :03/10/26 00:28
- ファイルをゴミ箱に送るにはどうすればいいでしょうか?
- 393 名前:デフォルトの名無しさん :03/10/26 01:35
- >>392
APIにある。
SHFileOperation
悪いが後は調べてくれ。
- 394 名前:392 :03/10/26 06:15
- >>393
了解です。
- 395 名前:デフォルトの名無しさん :03/10/26 11:29
- 教えてください。
1.常に最大化でサイズ変更は不可にしたい。
2.最小化ボタンをつけて、使わないときはそれで小さくする。
Borderスタイルで、「固定」で、WindowStyleで、「最大化」とやると
起動時は最大化になるが、タイトルバーをダブルクリックすると、元のサイズに
戻っちゃいますよね?これがちょっと困るので・・・
一応過去ログ探しましたが、該当の質問が見当たらなかったので、
質問させてください。すいませんが、よろしくお願いします。
- 396 名前:デフォルトの名無しさん :03/10/26 12:39
- テキストボックスから、10進数若しくは16進数を入力し、
10進数を16進数に、16進数を10進数に変換したいのですが、
どうすればよいでしょうか?
- 397 名前:デフォルトの名無しさん :03/10/26 13:37
- >>396
http://www.google.com/search?num=50&lr=lang_ja&q=%76%62%81%40%31%30%90%69%90%94%81%40%31%36%90%69%90%94%81%40%95%CF%8A%B7
- 398 名前:396 :03/10/26 14:08
- >>397
解決しました。ありがとうございます
- 399 名前:299 :03/10/26 14:47
- すみません、分かる方はいらっしゃいませんか…?
>>299
- 400 名前:デフォルトの名無しさん :03/10/26 16:29
- 質問です。
限られた範囲内で、イメージを表示して、はみ出した部分はスクロール
で見れるようにしたいんです。
(例えば、外枠は640*480でイメージが1024*768の場合とか。)
で前にも似たようなコトをやったんだが、
ピクチャコントロールを2つ重ねて、外側のピクチャ〜の範囲内で、
イメージを表示させたもう1つのピクチャ〜をスクロールさせて表示
させるって方法で上手くいったんだけど、
今回は、拡大・縮小も入れたくて、ピクチャ〜よりイメージコントロールが
よさげだと思ったので、外枠をピクチャ〜で、実際のイメージの表示は
イメージコントロールを使ったわけなんだけど、イメージの表示で、
Set imgScanImg.Picture = LoadPicture(ファイル名)
で、コントロールに表示されないんです。
フォームに直接イメージコントロールを貼り付けてやってみたら
表示できるんで、ピクチャ〜の中にコントロールをセットしているのが
間違っているのかな?と思うんですが・・・
わかりづらくて、ごめんなさい。
どなたかわかる人いたら教えてください。
- 401 名前:デフォルトの名無しさん :03/10/26 20:12
- VB6.0を使っているのですが、
command1を押したときにText1.Textに入力した数字を
Val関数で数値化して、その数値を1000で割って、
その余剰を求めたいのですが、どうやって余剰を出すのかわかりません。
初歩的な質問かと思いますが、漏れの持ってるテキストに載ってませんでした。
ググってもみたのですが、載っているサイトはみつかりませんでした。
Val(Text1.Text)のあとから一文字も進みません
お願いします
- 402 名前:デフォルトの名無しさん :03/10/26 20:21
- あまりはMOD
- 403 名前:デフォルトの名無しさん :03/10/26 20:23
- Val(Text1.Text)
↑
を変数に置き換える
型はstring意外なら何でもいいよ。
- 404 名前:401 :03/10/26 20:24
- 訂正:
余剰じゃなくって剰余みたいです
123456の場合
1000で割って
123.456になりますが、
456を取り出したいです
>>402
MODってどうやって使えばいいのでしょうか?
- 405 名前:デフォルトの名無しさん :03/10/26 20:27
- >>404
氏ね!MSDN読破して氏ね!
- 406 名前:デフォルトの名無しさん :03/10/26 20:29
- 名に作ろうとしてるんすか。
- 407 名前:デフォルトの名無しさん :03/10/26 20:29
- > 余剰じゃなくって剰余みたいです
どっちも正しい。
関数とかじゃなくて+-/*と同じ演算子なので
123456 MOD 1000で456になる。
- 408 名前:デフォルトの名無しさん :03/10/26 20:30
- ちなみ
O=mod(text1.text)
form1.caption=○
- 409 名前:デフォルトの名無しさん :03/10/26 20:31
- >>404
プログラムの問題じゃないので、
紙と鉛筆を使って考えてください。
- 410 名前:デフォルトの名無しさん :03/10/26 20:33
- 初心者の質問すると叩くアンチVB厨の多いスレだな。
- 411 名前:401 :03/10/26 20:36
- >>403
変数ですか
Aとかでいいのでしょうかねぇ
>>405
>>1にもMSDNとありましたが、
漏れにはMSDNが何かわからなかったのでスルーしますた スマソ
>>406
簡易パスワードでつ
>>407-408
おぉ なるほど 勉強になりました
ありがとうございます
スレ汚しすみませんでした
- 412 名前:デフォルトの名無しさん :03/10/26 20:36
\ わ っ は っ は ! /
\ /
人 人 人 人
(__) (__) (__) (__)
(__) (__) (__) (__)
(・∀・ )(´∀` )( ・∀・)( ´∀`)
l  ̄l ̄ ̄Ul ̄U ̄U ̄Ul ̄U ̄Ul ̄U ̄U ̄l\
l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄l\l
l ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l\l
l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄ ̄l ̄ ̄l\l
- 413 名前:401 :03/10/26 20:37
- >>409
ごめんなさい
紙のうえでも無理です
- 414 名前:デフォルトの名無しさん :03/10/26 20:37
- >>408
いっぽ遅かったな(w
- 415 名前:デフォルトの名無しさん :03/10/26 20:38
- a as integer
でいいよ。
古本買うことをお勧めします。
vb6.0以降なら何とかなるっす。
- 416 名前:デフォルトの名無しさん :03/10/26 20:40
- >>415
誰に対してのレス? 誤爆?
- 417 名前:401 :03/10/26 20:41
- >>415
本屋のキャンペーンが12月にあるので
それまで月刊誌以外は買わずに
12月になったら
VBの逆引き辞書など、まとめ買いする予定です
- 418 名前:デフォルトの名無しさん :03/10/26 20:41
- 401
- 419 名前:デフォルトの名無しさん :03/10/26 20:42
- がんがれ
- 420 名前:デフォルトの名無しさん :03/10/26 20:45
- 今更VBかよ…
- 421 名前:デフォルトの名無しさん :03/10/26 20:45
- >>420 すでに.NETの時代だね。
- 422 名前:デフォルトの名無しさん :03/10/26 20:46
- リモートホストのIPを抜き出すのは
どうしたらいいんでしょうか?
WINDOWSXP、VB6.0、SP5です。
- 423 名前:デフォルトの名無しさん :03/10/26 21:34
- 意味わかりません
- 424 名前:デフォルトの名無しさん :03/10/26 21:59
- www.yahoo.co.jp→IPってことだろ?
- 425 名前:401 :03/10/26 22:33
- >>401ですが、
皆様のお陰で
簡易パスワードチェッカーとパスワード生成ソフトが出来ました
ありがとうございました。
- 426 名前:デフォルトの名無しさん :03/10/27 00:12
- >>400
普通に出来るが?(表示だけなら)
Image1.Picture = LoadPicture(ファイル名)
もちろん表示後のストレッチも。
あと、コンテナにフレーム使ってもいいし。
もしかして、もっと高度な話なの?(ならゴメン)
- 427 名前:デフォルトの名無しさん :03/10/27 00:30
- オートリドローというオチだとか
- 428 名前:デフォルトの名無しさん :03/10/27 00:39
- >>427
Win98だとバグもある
- 429 名前:デフォルトの名無しさん :03/10/27 05:04
- 質問というか意見というか。
MsgBox関数で
MsgBox "しばらくお待ち下さい。", , "タイトル"
とか
str = MsgBox("しばらくお待ち下さい。", , "タイトル")
になるのはわかる。
でもMsgBox("しばらくお待ち下さい。", , "タイトル")
と括弧つけたら何でエラーになるんだよ!
- 430 名前:デフォルトの名無しさん :03/10/27 06:30
- Call MsgBox("しばらくお待ち下さい。", , "タイトル")
MsgBox ("しばらくお待ち下さい。"), , (("タイトル"))
- 431 名前:429 :03/10/27 08:07
- >>430
レスサンクス。
普通は括弧付きだろ、っていう考えだったため
Call MsgBox("しばらくお待ち下さい。", , "タイトル")
見て納得。
ちなみにVB入門書で初めて自作関数を作るときに
Call [関数名] (引数1,引数2,…) と
[関数名] 引数1,引数2 が同じ事を説明していなくて迷った経験がある。
- 432 名前:おしえてください :03/10/27 13:50
- VB6 & ADO & .mdb なのですが
とある主キーをもつレコードが
あれば、データを更新
なければ追加
としたいのですが、あるかないかを判断するにはどうしたらいいのでしょうか?
- 433 名前:デフォルトの名無しさん :03/10/27 15:26
- >>432
SQL文でやるなら、Updateを投げて結果0件ならInsert。
- 434 名前:デフォルトの名無しさん :03/10/27 17:10
- VB6(on XPpro)を使用してます。
フォームにコントロールを貼り付けてPGを作成していました。
何個か、似たような項目が出来たので、フレームにまとめて
しまいたいのです。
最初にフレームを貼り付けてから、後からコントロールをその
フレーム内に作成すると、問題なくグループ化されます。
しかし、フレームを作って、既存のコントロールをドロップし
ても、グループ化出来ません。
手間がかかるので既存(デザイン済)のコントロールを流用し
たいのですが、分かりません。出来そうな気がするのですが・
- 435 名前:VB6 :03/10/27 17:50
- ソフトを起動したときにタスクマネージャーに表示されないようにしたいのですが、
どうすればいいのでしょうか?
ググで調べた結果
TaskVisibleプロパティを弄ればいいみたいですが、
フォームのプロパティでVisibleをTrueからFalseにしても、
表示されてしまいます。
OSはWinXPproです
- 436 名前:デフォルトの名無しさん :03/10/27 18:02
- ShowInTaskbar
- 437 名前:VB6 :03/10/27 18:35
- >>436
それをTrueにしてもFalseにしても
タスクマネージャーに表示されてしまいます
ずっと ググで検索してるのですが
どうやらタスクマネージャーに表示させないのは無いようです
そこで、
タスクマネージャー自体を終了させて、
それ以降、再起動するまでタスクマネージャーを起動させれないようにするには
どうすればいいのでしょうか?
↑VC++でのソースコードは大体わかるのですが、VBはわかりません
- 438 名前:デフォルトの名無しさん :03/10/27 19:59
- >>434
カット&ペーストでイケてるが。
- 439 名前:デフォルトの名無しさん :03/10/27 20:27
- >>438
ありがとうございます。
・切り取る
・フレームを選択して、ターゲットを当てる
・貼り付け
でOKでした。
- 440 名前:デフォルトの名無しさん :03/10/28 02:02
- >>438-439
それを知らずに長い間テキストエディタで直接開いて編集してたよ(鬱
- 441 名前:デフォルトの名無しさん :03/10/28 05:46
- >>440 (;゚ □゚) ・・・
- 442 名前:デフォルトの名無しさん :03/10/28 08:48
- なんて可哀想なんだ ・゚・・゚・(つ∀^)・゚・
- 443 名前:デフォルトの名無しさん :03/10/28 08:54
- 自作のコントロールの配列があります。
ある条件で、(例えばコントロール内のTextBoxの文字数が3を越すと)次のコントロールに
Focusが移るようにするには、どうしたらいいんでしょうか?
- 444 名前:デフォルトの名無しさん :03/10/28 09:07
- >>443
1.自作コントロール側で親フォームをたどって兄弟を探してそいつにバトンタッチ。
2.普通にChangeイベント辺りを実装して、FormのControlsから次のタブ順のコントロールを探す。
- 445 名前:デフォルトの名無しさん :03/10/28 11:21
- イントラネット向けのプログラムをDHTML&PHPで作成してます。
ブラウザにActiveXを貼り付けて機能を満たせるか検証しています。
試作品作成中に希望した動作をしないので相談させてください。
あるActiveX SAMPLEをブラウザに貼り付けます。
OBJECTタグを貼り付けただけならデザインしたコントロールが
ブラウザに表示されます。
しかし、paramタグを使用してプロパティを入力して表示しようとしても
何も表示されません。(エラーも出ず、ただ真白です)
ただ、paramタグを使用しないでスクリプトでプロパティをセットする
分については問題なく動作しています。
数も多くなりそうな&パッと見も分かりやすそうなのでparamタグ
でプロパティをセットしたいのですがどうやってActiveXを作成すれば
いいかご存知であれば教えてください。
参考サイト:(下記サイトの一番下の
[Microsoft Windows フォーム クイック スタート チュートリアル]
http://ja.gotdotnet.com/quickstart/winforms/doc/WinFormsIeSourcing.aspx
上記サイトの一番下
http://ja.gotdotnet.com/quickstart/winforms/Samples/IeSourcing/VB/IESourcing.htm
を見ると実現できそうなのですが、VB側の良いサンプルが見つからず
どう作成していいのか分からず困ってます。
- 446 名前:445 :03/10/28 11:22
- -----HTML抜粋
<SCRIPT TYPE="text/VBScript">
Sub Hoge()
SAMPLE.KNAME = "テスト"
End Sub
</SCRIPT>
</HEAD>
<BODY onload="Hoge">
<OBJECT ID="SAMPLE" classid="clsid:XXXXXXXXXXXXXXXXXXX">
<param name="KNAME" value="TESTTESTTEST"> ←この行があると何も表示しない
</OBJECT>
</BODY>
-----VBソースより抜粋
Public Property Get KNAME() As String
KNAME = labKNAME.Caption
End Property
Public Property Let KNAME(ByVal New_KNAME As String)
labKNAME.Caption() = New_KNAME
PropertyChanged "KNAME"
End Property
- 447 名前:440 :03/10/28 12:38
- >>442
お前その顔は笑ってるだろ。笑ってるな、確かに笑ってる・・・。
チキショーみんなしてバカにしやがって(^Д⊂
- 448 名前:デフォルトの名無しさん :03/10/28 18:18
- VB6.0
タブキー押下でイベントを実施したいのですが、コードが分かりません。
KeyDown, KeyUp, KeyPressはタブキーを認識しないと見ました。
タブキー押下時のイベントは、どこに書けばいいのでしょうか?
(イベントはすでに書いているので、どのプロシージャに書けばいいのか教えていただけますでしょうか?)
- 449 名前:デフォルトの名無しさん :03/10/28 18:39
- >>448
TextBoxで試したけど、KeyDownでおもいっきりとれるじゃん。
- 450 名前:デフォルトの名無しさん :03/10/28 18:40
- >>448
あと、タブの場合、デフォルトの動作(次コントロールへフォーカス)があるので、
喧嘩しないように注意しなよ。
- 451 名前:448 :03/10/28 19:02
- Private Sub Form_KeyDown(KeyCode As Integer)
If KeyCode = vbKeyReturn Or KeyCode = VbKeyTab Then ' フォーカス移動
If ActiveControl.Name = "txt***" Or ActiveControl.Name = "txt****" Then
Call Check
End If
Call FocusNextControl(Me)
KeyCode = 0
Exit Sub
End If
End Sub
なんですが、タブキー押しても、このプロシージャにイベントが来ないんですよ。
- 452 名前:デフォルトの名無しさん :03/10/28 20:15
- >>451
別のコントロールにフォーカスがあったらフォームイベントでは取れないよ。
キーボードフックでもやるしかないんじゃない?
- 453 名前:デフォルトの名無しさん :03/10/28 20:18
- すごい初歩的質問なんですが、、
例えば数字を”000354”みたいに0を前詰して表示したい場合に、
VBではどんな関数があるんでしょうか?
Formatではできなさそうだったので。
Cだったら
sprintf(buf, "%06d", num);
こんな感じなんですが。
- 454 名前:デフォルトの名無しさん :03/10/28 20:20
- Format$(354, "000000")
- 455 名前:デフォルトの名無しさん :03/10/28 20:20
- >>453
Format(buf, "000000")
- 456 名前:デフォルトの名無しさん :03/10/28 20:21
- >>454ありがとうぅぅぅぅっ!!!@谷村新司
- 457 名前:デフォルトの名無しさん :03/10/28 20:30
- >>451
そのフォームに載ってるコントロールの数が少なければ、
全てのコントロールのKeyDownイベントハンドラの中で
Form_KeyDownをコールさせるようにすることもできる。
あんまり頭いい方法じゃないけど。
- 458 名前:デフォルトの名無しさん :03/10/28 23:35
- VB6ってXPでまともに動作します?
VB6終了時に、VB6がエラー出して終わっちゃうんですけど・・・
- 459 名前:デフォルトの名無しさん :03/10/28 23:51
- >>458
>VB6ってXPでまともに動作します?
動作環境を調べずに使っているのですか?
>VB6終了時に、VB6がエラー出して終わっちゃうんですけど・・・
どんなエラー出たのか、どうして書かないんですか?
- 460 名前:デフォルトの名無しさん :03/10/28 23:55
- > どんなエラー出たのか、どうして書かないんですか?
ネタだから。
- 461 名前:デフォルトの名無しさん :03/10/29 01:33
- 16進数を10進数に簡単に変換する方法ってありますか?
- 462 名前:デフォルトの名無しさん :03/10/29 01:36
- 氏ね
- 463 名前: