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

VBプログラマ質問スレ(6.0以前) Part51

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/28(日) 10:57:31
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。
0314デフォルトの名無しさん2007/02/25(日) 09:07:07
>>310
スレッド起こしてそっちでやるんだな
0315デフォルトの名無しさん2007/02/25(日) 09:44:27
>>312
そのDLLに渡すためのDLLを作るんだ。
0316デフォルトの名無しさん2007/02/25(日) 12:23:23
>色々調べましたが上記のような例が掲載されている文献が見当たら
>なかったもので・・・
二重の嘘だなw
0317デフォルトの名無しさん2007/02/25(日) 12:42:40
VBのEvalってしょぼすぎじゃない?
0318デフォルトの名無しさん2007/02/25(日) 14:14:02
>>313
意外とVBAの中での話だたりしてw

つうか、VBってMSDNからタダで落とせないのかな?
0319デフォルトの名無しさん2007/02/25(日) 15:43:27
>>318
今確認してみたらサブスクライバダウンロード出来るね。
掲載日時
 2006-09-08 22:24:08 (UTC)
ファイル
 jp_vb6_ent_cd1.iso ISO-9660 CD Image
ファイル サイズ
 354 MB
SHA-1 ハッシュ
 81872af7762f6a270b0c3d88178e861460a07372
0320デフォルトの名無しさん2007/02/25(日) 15:44:07
あ、ハッシュは載せないほうが良かったかorz
0321デフォルトの名無しさん2007/02/25(日) 16:50:37
>>313
VB.NETからCOM使うのが大変だからかな
0322デフォルトの名無しさん2007/02/25(日) 16:52:23
>>317
なにが不満?
0323デフォルトの名無しさん2007/02/25(日) 18:15:04
>>322
eval("MsgBox ""Hello""")
なんでこれが動かないの?
文字列か数値を返す関数しか呼べないなんて。
0324デフォルトの名無しさん2007/02/25(日) 18:23:52
つScriptControl
0325デフォルトの名無しさん2007/02/25(日) 18:42:29
VB6.0ってコントロールの追加できる?
自分のやつは画面左側のバーに10個くらいしかないんだけど
ネット見てたら6.0って書いてあるのにその倍くらいの数の
コントロールが表示されてるっぽかったから
色々探したけどできないんだよね・・・
0326デフォルトの名無しさん2007/02/25(日) 18:45:25
今更その程度こと知らないならVB6使う意味はまるでないと思うんですが。。。
もうサポートフェーズも終了した開発ツールなんだけどw
0327デフォルトの名無しさん2007/02/25(日) 19:12:19
インストーラー自体もXPで日本語でユーザ名登録されてたら終わりだから
よほどの事が無い限り使わない方がいいな
0328デフォルトの名無しさん2007/02/25(日) 19:27:09
>>327
その程度は自分で設定すれば済む話じゃないか
0329デフォルトの名無しさん2007/02/25(日) 19:53:35
まぁ保守案件ありまくりでVista対応させられる企業もあるだろうし・・・・
企業であれば仕方ないかもしれないな…・

個人でこれから始めようとするのにVB6はちょっと・・・とは思うけど

でも、いきなりドトネトやってクラスの海でおぼれるよりは・・・
と考えればそう悪いものではないかも
VBAにも繋がることだしさ

お勧めと言われればとりあえずC#進めるけどさ・・・
0330デフォルトの名無しさん2007/02/25(日) 20:27:48
今一番主流の言語ってなんだろう???
0331デフォルトの名無しさん2007/02/25(日) 20:32:59
>>330
スレ違いとおもふ
0332デフォルトの名無しさん2007/02/25(日) 22:48:04
なんですと
0333デフォルトの名無しさん2007/02/25(日) 23:55:54
主流はVB6だろう。
そんな事聞くまでも無いだろ・・
0334デフォルトの名無しさん2007/02/26(月) 00:08:18
このスレいかれた奴がいるな6.0以前の意味がわかってないだけとは思えないんだけど
主流がどうかとかもどうでもいいしw
0335デフォルトの名無しさん2007/02/26(月) 09:33:45
このスレの主流はVB6.0だろ。
今出回ってるPCのほとんどにはVB6.0以前が入ってるんだぞ。

VBAとしてだが。
0336デフォルトの名無しさん2007/02/26(月) 10:06:41
バッチファイルの次ぐらいにレガシー
0337へたれです2007/02/26(月) 10:16:08
VB6.0で開発してるソフトのDBをmdbとしたのですが、
このソフトはアクセスの入ってないPCに導入しても動くものなんでしょうか?
0338デフォルトの名無しさん2007/02/26(月) 10:18:46
mdacが入ってれば動くんじゃない?
0339へたれです2007/02/26(月) 10:40:06
mdacですね。
ありがとうございます。
0340デフォルトの名無しさん2007/02/26(月) 12:21:45

ここは普通にVBのランタイムを勧めるべきじゃないの?
0341デフォルトの名無しさん2007/02/26(月) 21:11:29
むしろDAOで行けよwwww
MDBならそっちのがはえぇぞwwww

後でSQL鯖にしますとか言われたらアボーンだけどw
0342デフォルトの名無しさん2007/02/26(月) 22:02:44
やれやれ。
0343デフォルトの名無しさん2007/02/26(月) 22:18:07
すいません、VB2で教えてくだっさい
本を読んで勉強してるんですが、下のところで引数がなんとかってエラーが出てしまいます

Call Msgbox("Hello World!!",%d);

Hello World!!をかえてみたり、本をはじめから読み直してるんですがよくわかりません…
0344デフォルトの名無しさん2007/02/26(月) 22:23:28
>>343
printf ("Hello World!!",%d);

だろ。
帰ったら復習しとけよ。
0345デフォルトの名無しさん2007/02/26(月) 22:23:44
>>343
VB2 ずいぶんふるいの使ってるね。Windows 3.1用?
0346デフォルトの名無しさん2007/02/26(月) 22:41:44
VB 6.0で、ホイールマウスを使っています。
コードを表示しているときにホイールが利くといいなーと思うのですが、どなたか実現されている
方、いませんか?
0347デフォルトの名無しさん2007/02/26(月) 22:43:41
英語版VB6だとホイール使えたっけな
0348デフォルトの名無しさん2007/02/26(月) 22:48:23
MSからアドインでてるから、取得汁。
0349デフォルトの名無しさん2007/02/26(月) 23:14:40
>>348
http://support.microsoft.com/kb/837910/ja にありました。
どうもありがとうございました。これでだいぶ快適になります。
0350デフォルトの名無しさん2007/02/27(火) 00:25:18
OutlookExpressのメール一覧からドラッグされたメールの情報って取得できますか?
一度Explorerにコピーしてからなら普通にファイルとして取得できるのですが、
直接ドラッグして、OLEDragDropイベントで捕まえようとすると
DataオブジェクトのFilesが「データの形式が一致しません。」となってエラーになってしまいます。
0351デフォルトの名無しさん2007/02/27(火) 12:54:10
それよりFontLinkが使いたいな。Courier Newでないと気分が乗らないよw
0352デフォルトの名無しさん2007/02/27(火) 17:12:24
>>323
eval("MsgBox(""Hello"")")
0353デフォルトの名無しさん2007/02/27(火) 22:27:56
148で書かせていただいたのですが149さんに教えていただいてやってみようとしたのですが
よくわかりませんでした
本当に初心者で申し訳ないですがどなたか再度教えていただけますか
0354デフォルトの名無しさん2007/02/27(火) 22:34:42
さようなら
0355デフォルトの名無しさん2007/02/27(火) 22:59:28
質問の意味がわからん。
何のコントロールを使ってどんな動作をさせたいのか具体的に書かないと答えようが無いんだが。
0356デフォルトの名無しさん2007/02/28(水) 00:19:05
コマンドボタンを使って、複数のテキストボックスの値を瞬時に消したいのですが、

Text1.text=""
Text2.text=""
   ・・・
Text20.text=""

のようにいちいち書くのではなく、For文を使って連番で一気に消せません
でしょうか?

For i=1 to 20
hoge="Text"&i
hoge.text=""
Next

とやっても、「オブジェクトが必要です」と警告を食らってしまいます。
どなたかご教示ください。よろしくお願いしまうs。
0357デフォルトの名無しさん2007/02/28(水) 00:22:21
コントロール配列
03583562007/02/28(水) 00:37:11
>>357
ありがとうございました
0359デフォルトの名無しさん2007/02/28(水) 01:58:42
>>352
thx!!!
0360デフォルトの名無しさん2007/02/28(水) 09:38:19
VB5で書かれたソースコードの変更を頼まれたのですが
VB5が手に入りません。

VB5で書かれたソースコードをVB6でコンパイルできますか?
0361デフォルトの名無しさん2007/02/28(水) 10:22:43
>>360
やってから言え
0362デフォルトの名無しさん2007/02/28(水) 12:45:38
>>360
不安なら変更前を別途圧縮するなどして保存しておき、VB6で開いてしまえ
0363デフォルトの名無しさん2007/02/28(水) 13:05:11
つうか、銀行側も良くそんなしようでOKだしたな

もとはといえば作ったり打合せした連中が糞以下だからだろうけど
0364デフォルトの名無しさん2007/02/28(水) 13:21:29
銀行?誤爆?
0365デフォルトの名無しさん2007/02/28(水) 13:23:07
>>364
すまん・・・誤爆だ
スレ汚しスマソ
0366デフォルトの名無しさん2007/02/28(水) 15:38:20
マルチすみません。
情報が少ないですが以下の現象で困っております。
環境 WindowsXP Excel2003

エクセルのVisual Basic Editorで社内作成のコントロール(VB6にて)
をはりつけ、その後エクセルを終了すると必ずメモリがReadに・・・
のエラーがでてしまい困っています。あと2時間ほどで調べないといけない
のですが。。。誰かご教授お願いします。
0367デフォルトの名無しさん2007/02/28(水) 16:09:21
マルチ?
ばいばい、もう来なくて良いよ
0368デフォルトの名無しさん2007/02/28(水) 16:12:39
はっきりは判らないが、そのコントロール自体を破棄する前に
コントロール内で使用しているオブジェクトを明示的に破棄してやる
必要があるのではないか。
0369デフォルトの名無しさん2007/02/28(水) 16:51:18
趣味レベルなのでかなり初歩的な質問で申し訳ないのですが
VB6でMicrosoft flex Grid Contorol 6.0
を使って FlexGridを作ったのは良いのですが
これを使ったプログラムはexeファイル化しても
VB6がインストールされてない環境では使えないのでしょうか?
知り合いのPC上でも使いたいのですが(Win XPと2000)
VisualStudioをそれぞれインストール意外に解決法はあるでしょうか?
0370デフォルトの名無しさん2007/02/28(水) 16:52:50
あります
0371デフォルトの名無しさん2007/02/28(水) 16:57:37
>>370
良ければ(その手のHP等あればそれでも)教えていただけないでしょうか?
そもそもどう検索して探して良いのか・・・途方に暮れてます。
0372デフォルトの名無しさん2007/02/28(水) 17:04:17
>>371
ttp://dobon.net/vb/installer/index.html
0373デフォルトの名無しさん2007/02/28(水) 17:09:09
>>372
ディストリビューション ウイザード ってやつですね?
ありがとうございました。
0374デフォルトの名無しさん2007/02/28(水) 17:12:52
>>373
違います
0375デフォルトの名無しさん2007/02/28(水) 17:16:27
>>374
HPの説明に従って
ディストリビューション ウイザードを使って 
「パッケージ」なるものを作ってみたのですが
これでセットアップしたら使えるようになる
そういうことだと思ってましたが?(今作ってみました)
だめでしょうか?
0376デフォルトの名無しさん2007/02/28(水) 17:17:34
>>375
それ以外の方法で作ってください
0377デフォルトの名無しさん2007/02/28(水) 17:20:33
>>376
分かりました。試してみます。
0378デフォルトの名無しさん2007/03/01(木) 23:33:13
.netスレに書き込んでからふと思ったけど、VB6でフォーカスのマークを消すことって出来ますか?

私はボタンクリック後に別コントロールにフォーカス動かすようにしてるけど、それでも一瞬表示される&フォーカス残せないと面倒だよね。
GetFocusに他コントロール.setfocusしたら、微妙に残像が表示されるし
サブクラス化してボタンクリックと同時にフックして、強制的にクリックメソッド発生→フォーカスとかしてたら別のところで弊害がでそう。

VB6.0プロフェッサー様オシエテ!
0379デフォルトの名無しさん2007/03/02(金) 09:31:45
frm○○.showでfrm○○に飛んだ時
最初にForm_Roadがかかりますが、
前画面に戻り、再びfrm○○を読み込んでもForm_Roadを行いません。

Form_Roadを行うにはどうすればいいのでしょうか?
0380デフォルトの名無しさん2007/03/02(金) 09:33:17

そんな難しい事はあきらめて、俺といい事しないか?
0381デフォルトの名無しさん2007/03/02(金) 09:43:38
もどるときshowやれば?
0382デフォルトの名無しさん2007/03/02(金) 11:21:18
VB6.0を売っているところありますか?
0383デフォルトの名無しさん2007/03/02(金) 11:23:03
おとしてこいよサブスクリションかなんかのページで
0384デフォルトの名無しさん2007/03/02(金) 13:42:03
>>379
試してないから違ったらごめんだけど、前の画面に戻るとき
Unloadしてなくて、次showする時に既にLoadされてる状態だから
Loadイベントが呼ばれないだけでは?

0385デフォルトの名無しさん2007/03/02(金) 15:56:07
一度unloadしてからloadすりゃおk
0386デフォルトの名無しさん2007/03/02(金) 19:18:43
テキストファイルの中身を一行ずつ読み込む
という動作はどのようにすればできるんだっけ?
0387デフォルトの名無しさん2007/03/02(金) 19:34:34

>>386
そんな難しい事は考えないで俺の中に入れてくれ
0388デフォルトの名無しさん2007/03/02(金) 20:13:35
書き足りなかったのですいません
例えば、
テキストファイル1の中身を一行ずつ全部読み込んで
それをテキストファイル2に出力する
というようなやり方が分かる方いたら教えて下さい
よろしくお願いします
0389デフォルトの名無しさん2007/03/02(金) 20:16:46

>>388
大丈夫だ。
お前の事は長さも硬さも全部知ってるつもりだ。

いいから四つん這いになれ。
0390デフォルトの名無しさん2007/03/02(金) 20:41:52
>>388
FSOかFileOpenでいけるんちゃうかな
0391デフォルトの名無しさん2007/03/02(金) 20:49:04
>>388
const file1="hoge"
const file2="piyo"
dim ff1 as integer
dim ff2 as integer
dim ls as string
ff1=freefile(): open file1 for input access read lock read write as ff1
ff2=freefile(): open file2 for output access write lock read write as ff2
do until eof(ff1)
  line input #ff1, ls
  print #ff2, ls;
loop

こんなの?
0392デフォルトの名無しさん2007/03/02(金) 20:55:05
>>391
hogeとpiyoってのは何に対応してるの?

取りあえず今Notepadにある数字をNotepadに写し変える
という感じでソースを書いてるんですがファイル名指定してる
はずなのに実行するとエラーが出てしまいます・・・

Notepadの中身を読み込めないなんてことはないよね?
0393デフォルトの名無しさん2007/03/02(金) 20:56:14
ファイナルファンタジー?
0394デフォルトの名無しさん2007/03/02(金) 21:05:47
Notepadってwindows付属のメモ帳のことか?
実行ファイル=バイナリ読み込んでるの?
テキストファイルじゃないのか?
エラーならエラーでエラー番号と詳細内容かいてるだろ・・・
回答もらおうと思ってる文章じゃないな・・・
0395デフォルトの名無しさん2007/03/02(金) 21:08:12
ごめん、Notepadをテキストファイルだと思い込んでました・・・
混乱して全然分からないんだけどテキストファイルってのは
何ファイルのことをいうの?
0396デフォルトの名無しさん2007/03/02(金) 21:10:30
Notepadで保存したり開いたりできるファイル
0397デフォルトの名無しさん2007/03/02(金) 21:13:45
>>395
普通にShift-JISとかEUC-JPとかで文字が書き込んであるファイル
0398デフォルトの名無しさん2007/03/02(金) 21:20:29
>>395
ごめんといいつつも同じ多々良を踏むとは

とりあえず自分が何をしたいのか、どこまでできているのかを>>1参照して書くべし
現状だと霞かかった情報しか手に入ってないから最初から書くといい
0399デフォルトの名無しさん2007/03/02(金) 21:25:20
とりあえず俺がいいたいのは

・起動中のノートパッドに直接書き込みたいのか
・ノートパッドで開けるファイル形式に読み込み→書き込みしたいのか

そこんところはっきり。
あと質問者は名前に何か入れてもラワンと、上のレスじゃあ誰が質問してるのかわからんぞ
0400デフォルトの名無しさん2007/03/02(金) 21:30:23
・ノートパッドをバイナリで読み込むのか
0401デフォルトの名無しさん2007/03/02(金) 21:30:30
テキストファイル: テキストとして認識可能なように作ったファイル
バイナリファイル: テキストファイルとして作られなかったファイル
0402デフォルトの名無しさん2007/03/02(金) 21:32:59
>>401
つつくようで悪いが、その表現は早々に撤回した方が身の為だとおもうぞ。
0403デフォルトの名無しさん2007/03/02(金) 21:33:58
>>401
0か1かみたいな考え方だな
その発想はなかった
0404デフォルトの名無しさん2007/03/02(金) 21:34:39
つつく人はいつもじゃあ本当はどうなのかという事を語らない。
それで自分の意見に信憑性を持ってもらえるのか、客観的に考えて欲しい。
0405デフォルトの名無しさん2007/03/02(金) 21:34:56
やりたいこととしてはコマンドがクリックされたら
Notepad1の中身が読み込まれてNotepad2にその内容を表示するということです
下はネットにあったやつをファイル名の部分だけ書き換えたんだけど

'参照ファイルのファイル番号
Dim intFileNum As Integer
'行の内容を取得する変数
Dim strTxt As String
'空いているファイル番号を取得
intFileNum = FreeFile
'ファイルを開く
Open "C:\asobi\practice.txt" For Input As intFileNum   ←ここで指定したファイルはちゃんとあるはずなのに
'ファイルの最後までループ                 「ファイルが見つかりません」と表示されてしまいます・・・
Do Until EOF(intFileNum)
'行を変数に取り込む
Line Input #intFileNum, strTxt
'Readした内容をイミディエイトウィンドウに表示  ←ここはまだ書き換えてなくて、読み込んだものを
                          出力させる場所をしていしたいんですが書き方がよくわからないです・・・
Debug.Print strTxt

Loop
'ファイルを閉じる
Close intFileNum

0406デフォルトの名無しさん2007/03/02(金) 21:36:55
まず
Dir("C:\asobi\practice.txt")
を実行してファイルがあるか確認して見れ
04074052007/03/02(金) 21:37:08
>>399
・起動中のノートパッドに直接書き込みたいのか
・ノートパッドで開けるファイル形式に読み込み→書き込みしたいのか

後者です
0408デフォルトの名無しさん2007/03/02(金) 21:38:55
>>404は好く突く人ですね
0409デフォルトの名無しさん2007/03/02(金) 21:45:56
"C:\asobi\practice.txt"
ではなく
"C:\documents and settings\********\my documents\asobi\practice.txt"
とかに入っているとエスパーレスしてみる
0410デフォルトの名無しさん2007/03/02(金) 21:47:32
すまん、書き方が悪かったな

MsgBox Dir("ファイルパス")

これを実行して、ファイル名がちゃんと表示されて無ければパスが間違ってるってこと。
0411デフォルトの名無しさん2007/03/02(金) 21:48:04
orz

MsgBox Dir("C:\asobi\practice.txt")
0412デフォルトの名無しさん2007/03/02(金) 21:51:18
なんか対処療法的な確認方法しか出て無いけれど、

アイコンを右クリックしてプロパティをジーっと眺めてれば、何か見つかるかもね。
04134052007/03/03(土) 00:35:12
取りあえずプロパティを見てから拡張子をDTに変えたら
「ファイルが見つからない」という問題は解決しました
あとは読み込んだ内容をpracticeというNotepadに写すことができれば
いいんですが、下を実行しても指定したNotepadに何も表示されないといった
感じになってしまいます・・・
closeの位置等に問題があるのでしょうか?

'参照ファイルのファイル番号
Dim intFileNum As Integer
'行の内容を取得する変数
Dim strTxt As String

'空いているファイル番号を取得
intFileNum = FreeFile

'ファイルを開く
Open "F:\mydata\1.DT" For Input As intFileNum

'ファイルの最後までループ
Do Until EOF(intFileNum)

'行を変数に取り込む
Line Input #intFileNum, strTxt

Close intFileNum

Open "F:\practice.DT" For Output As intFileNum

Loop

'ファイルを閉じる
Close intFileNum
■ このスレッドは過去ログ倉庫に格納されています