VBプログラマ質問スレ(6.0以前) Part51
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/28(日) 10:57:31質問者は使用している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
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0253デフォルトの名無しさん
2007/02/23(金) 14:45:55IFで分岐させればいいじゃない
0254デフォルトの名無しさん
2007/02/23(金) 15:44:33存在チェックをしたいのですが、直接存在チェックを行う方法はあるでしょうか?
関数があるとは思うのですが見つけられないのです。
下記の処理ではローカルマシンに登録されているプリンタが多いとき困るのですが、
ネットで探してもこの方法しか見つけれません。
For Each objprinter In Printers
If gstrPrinter = objprinter.DeviceName Then
blnRet = True
Exit For
End If
Next
この方法以外でありましたら、よろしくお願いします。
0255デフォルトの名無しさん
2007/02/23(金) 15:49:23存在しない。でいいんじゃない?
0256254
2007/02/23(金) 16:10:48SetDefaultPrinter()は通常使うプリンタを取得する関数ですよね。
ただ、今回の処理はどのプリンタを使うかを
テキストファイルより読み込んだ文字列にて決めさせるので、
SetDefaultPrinter()ではだめなのです。
常駐プログラムの中で
プリンタの存在チェック○→ファイルの印刷→ファイルを削除
プリンタの存在チェック×→ファイルを移動(退避)
という処理を行いたいのです。
よろしくお願いします。
0257デフォルトの名無しさん
2007/02/23(金) 16:17:42サンプルどおりで良し
0258デフォルトの名無しさん
2007/02/23(金) 16:31:53SetDefaultPrinter()は通常使うプリンタを取得、ではなくてセットする関数です。
0259254
2007/02/23(金) 16:45:26ありがとうございます。
通常使うプリンタを変更するのは上手くないとのことで、
どちらにしろ使いたくないです。
>>254
間違えて読んでましたすみません。
>>256
結局今のままで行うことにしました。
ありがとうございました。
0260デフォルトの名無しさん
2007/02/23(金) 17:27:010261デフォルトの名無しさん
2007/02/23(金) 23:54:39インストールされるわけですが、そのセットアップ時、アプリケーションユーザが任意に指定するインストール領域を、
アプリケーション側で環境変数として取り込むのはどうすればいいですか?
つまりは、VB6のディストリビューションウィザードで作成されるセットアップ(SETUP.EXE等)は、
環境変数やレジストリキーを、VBアプリケーションにパラメーターとして渡すための「約束ごと」を、
どこで説明てるかどうかということもあるんですが。
0262デフォルトの名無しさん
2007/02/24(土) 00:15:53少しは文章を推敲しようよ。
エスパーでもお手上げだよ、そんな文章w
0263デフォルトの名無しさん
2007/02/24(土) 00:18:540264デフォルトの名無しさん
2007/02/24(土) 00:23:40App.Path(予約語)をstring変数に代入すればいいってことですね。
それにしても、なんで"App.Path"で検索してもVBヘルプ(MSDN)で出てこないのか?
こんな環境変数の予約語すら、ヘルプのキーワードで検索できないって・・・・・
呆れるね。やっぱ、マイク?ソフト
0265デフォルトの名無しさん
2007/02/24(土) 00:38:03偉そうな口を利く能無しどもの棲家が多いって聞いてるが、ここもその一つだということは理解できた。
1、>VB6のディストリビューションウィザードでパッケージ化されたアプリケーションは
この日本語とMSの用語が理解できないなら、VB6.0の説明なんかできっこないでしょうが。
2、>セットアップ(SETUP.EXE等)でインストールされるわけですが
同上
3、>そのセットアップ時、アプリケーションユーザが任意に指定するインストール領域を、
同上、これが理解できなら、VB6.0でパッケージされたアプリケーションをセットアップのテストしたこともない
のにいっぱしの「VB説明能力を持ってる。」なんて偉ぶってるだけ。
4、>アプリケーション側で環境変数として取り込むのはどうすればいいですか?
1に、同じ
これが理解できないということは、VBとかのローカル言語以前の問題で、
システム開発そのものをしたことがないっていうこと。
>つまりは、VB6のディストリビューションウィザードで作成されるセットアップ(SETUP.EXE等)は、
>環境変数やレジストリキーを、VBアプリケーションにパラメーターとして渡すための「約束ごと」を、
>どこで説明てるかどうかということもあるんですが。
1に同じ
0266デフォルトの名無しさん
2007/02/24(土) 00:50:01ま、こういう人になに言ってもムダだろうけどね。
0267デフォルトの名無しさん
2007/02/24(土) 03:31:50「初夜はどうでした!?」なんてお下品な質問をされ、なんとも言えない、
いや〜な気分で飛行機に乗った」まで読んだ。
0268デフォルトの名無しさん
2007/02/24(土) 06:18:56君の言うことは正論なんだが
悲しいかなこのスレにいるカスの心には届かんよw
0269デフォルトの名無しさん
2007/02/24(土) 06:50:240270デフォルトの名無しさん
2007/02/24(土) 08:54:09お母さんがここに来たら駄目だって教えてあげたでしょ!
病院の先生も心配してます!もう、帰りますよ!
皆さん、うちの>>265がご迷惑をおかけしまして、すみません。J('A` )し
0271デフォルトの名無しさん
2007/02/24(土) 10:11:17PathとかAppとかで探せばMSDNで出てくる気がする
0272デフォルトの名無しさん
2007/02/24(土) 10:28:03そっとしておいてやれよ。
これ以上弄るのは余りに哀れすぎる。
0273デフォルトの名無しさん
2007/02/24(土) 15:43:07If State2 = icResponseCompleted Then
GetData = Inet2.GetChunk(2048, icString)
Soucetext2 = Soucetext2 & GetData
Do While GetData = ""
GetData = Inet2.GetChunk(2048, icString)
Soucetext2 = Soucetext2 & GetData
Loop
End If
0274デフォルトの名無しさん
2007/02/24(土) 16:08:560275デフォルトの名無しさん
2007/02/24(土) 16:11:32このファイルのファイル名だけを1つずつ取得したいのです。
やり方は色々あるとは思います。
Dir関数やFSOやAPIや。
ファイルがフォルダ内に大量にある、そしてそれぞれのファイルが大きいことで
やはりパフォーマンスにかなり影響あるでしょうか?
0276デフォルトの名無しさん
2007/02/24(土) 16:20:25プログラマ以前に人間失格なんだよ
0277デフォルトの名無しさん
2007/02/24(土) 16:28:120278デフォルトの名無しさん
2007/02/24(土) 16:43:020279デフォルトの名無しさん
2007/02/24(土) 16:50:13Dim fs As VariantのところをDim fs As Objectにしないとだめでしょうか??
教えてください。
(参考プログラム)
Public Sub Test()
Dim fs As Variant
Set fs = CreateObject("Exce.Application")
:
(省略)
:
Set fs = Nothing
End Sub
0280デフォルトの名無しさん
2007/02/24(土) 17:07:120281デフォルトの名無しさん
2007/02/24(土) 20:40:02今100秒経過しました
みたいに表示したいんだけど
Label1.Caption = "今m秒経過しました"
のどこがおかしい?
ちなみにmはintegerで宣言した定数で
timerで1秒ごとに変わっていく値です
0282デフォルトの名無しさん
2007/02/24(土) 20:46:520283デフォルトの名無しさん
2007/02/24(土) 20:47:350284デフォルトの名無しさん
2007/02/24(土) 20:52:410285281
2007/02/24(土) 20:53:07解決しました
0286281
2007/02/24(土) 20:54:34解決しました
0287281
2007/02/24(土) 21:08:30例えば10分間の文章入力作業を行わせるとして
それをシステム実行停止にしても何て入力したかを保存しておき
かつ、2分間ごとに区切って
最初の2分間はここまで、次の2分間はここからここまで入力された
みたいな感じで、あとで見たときにそのようなことが分かるように
記録を残しておくようなことって可能ですか?
0288281
2007/02/24(土) 21:10:54例えば10分間の文章入力作業を行わせるとして
それをシステム実行停止にしても何て入力したかを保存しておき
かつ、2分間ごとに区切って
最初の2分間はここまで、次の2分間はここからここまで入力された
みたいな感じで、あとで見たときにそのようなことが分かるように
記録を残しておくようなことって可能ですか?
0289デフォルトの名無しさん
2007/02/24(土) 21:18:470290デフォルトの名無しさん
2007/02/24(土) 21:20:52Janeでカキコしても失敗と出てて
気づかず同じこと書いてしまった
>>287
可能だけどソース書くにはちと長くて面倒なので
俺は書かない
0291デフォルトの名無しさん
2007/02/24(土) 21:22:04考え方次第でできるだろうけど
最初の2分の時点の文章から次の二分の文章で必ず追加されているだけでもなく
削除されている可能性もあるわけだから
とりあえずメンドクサク考えずに
2分ごとで、その時点の文章全部保存しちゃえば?
0292281
2007/02/24(土) 21:30:542分ごとで、その時点までに入力された文章を保存してしまう
というのは、10分の作業の場合だったら
計5個の記録ファイルが残るということですか?
0293デフォルトの名無しさん
2007/02/24(土) 21:40:24別にファイルに残さなくてもいいし(変数や、コレクションにでも保存すればいいだろうし)
1つのファイルにまとめてもいいし
5つにしてもいいし
そのあとの復帰の仕方次第でいろいろ変わると思うけどなぁ…
なのでレスはそういうやり方もあるね ってことで
0294281
2007/02/24(土) 21:57:20すいません、ありがとうございます
実は入力された文章を保存する方法自体がまだよくわからくて・・・
上の方で似たような質問をされてる方はいるんですが・・・
Open "E:\mydata\sfile.dt" For Append As #1
Write #1, Today; "click(Command1)"
Close
このように、何時何分にどのCommandボタンを押したか
というのを指定したフォルダの中にテキストファイルで記録しておく
みたいなログを残す機能は作ったことはあるんですが
これの応用みたいな感じで、「実行中に入力された文字を記録しておく」
という機能は作れるのでしょうか?
色々調べてもよく分からないので、もし分かる方がいたらよろしくお願いします
0295デフォルトの名無しさん
2007/02/24(土) 22:00:58可能か不可能かで言えば可能だよ
いっそキーイベントでログ吐くとかしたら
0296デフォルトの名無しさん
2007/02/24(土) 22:24:150297281
2007/02/24(土) 22:47:48Write #1, Today; "click(Command1)"
Close
の2行目を
Write #1, Text2.Text
に変えたらテキストファイルに入力内容の記録は残るようになったんですが
例えばaaaaaと入力したら
"a"
"aa"
"aaa"
"aaaa"
"aaaaa"
のように記録が残ってしまうんですが
普通にaaaaaとだけ残すためにはあと何が足りないのでしょうか?
0298デフォルトの名無しさん
2007/02/24(土) 22:49:370299デフォルトの名無しさん
2007/02/24(土) 23:09:230300281
2007/02/24(土) 23:29:06ファイル上書きというのはコード上に何か追加したらできるのですか?
0301デフォルトの名無しさん
2007/02/24(土) 23:39:170302281
2007/02/24(土) 23:47:520303デフォルトの名無しさん
2007/02/25(日) 00:03:53aとbが等しくない場合はcの処理を行う
のような「等しくない」の表現を
≠で書こうとしてもエラーが出てしまうんだが
こういう記述の場合何かVB特有の表現方法はある?
0304デフォルトの名無しさん
2007/02/25(日) 00:08:120305デフォルトの名無しさん
2007/02/25(日) 00:09:14サンクス
メチャクチャ基礎的だったんだね
すんません
0306デフォルトの名無しさん
2007/02/25(日) 00:11:120307デフォルトの名無しさん
2007/02/25(日) 00:23:240308デフォルトの名無しさん
2007/02/25(日) 00:27:47!=
0309デフォルトの名無しさん
2007/02/25(日) 00:30:520310281
2007/02/25(日) 00:38:42Open "E:\mydata\sfile.dt" For Output As #1
Write #1, Text2.Text
Close
にしたら普通に入力した文字は保存されるのですが
入力作業時に文字を打ち込む時の感覚がスローモーションぽく
なってしまいます・・・
これは何が問題なんでしょうか?
0311デフォルトの名無しさん
2007/02/25(日) 01:04:57何かあるたびに聞きにこないでぎりぎりまで踏ん張ってみれ
0312デフォルトの名無しさん
2007/02/25(日) 04:15:30VB6の構造体からC++のclassのメンバ変数への引渡しがどうしても
上手くいきません
他の言語の構造体からは引き渡せてるのですが、VBでは不可能なの
でしょうか?
色々調べましたが上記のような例が掲載されている文献が見当たら
なかったもので・・・
0313デフォルトの名無しさん
2007/02/25(日) 05:49:35なんでこんなに質問あるんだろ?
しかも初心者っぽい質問まであるし
0314デフォルトの名無しさん
2007/02/25(日) 09:07:07スレッド起こしてそっちでやるんだな
0315デフォルトの名無しさん
2007/02/25(日) 09:44:27そのDLLに渡すためのDLLを作るんだ。
0316デフォルトの名無しさん
2007/02/25(日) 12:23:23>なかったもので・・・
二重の嘘だなw
0317デフォルトの名無しさん
2007/02/25(日) 12:42:400318デフォルトの名無しさん
2007/02/25(日) 14:14:02意外とVBAの中での話だたりしてw
つうか、VBってMSDNからタダで落とせないのかな?
0319デフォルトの名無しさん
2007/02/25(日) 15:43:27今確認してみたらサブスクライバダウンロード出来るね。
掲載日時
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:070321デフォルトの名無しさん
2007/02/25(日) 16:50:37VB.NETからCOM使うのが大変だからかな
0322デフォルトの名無しさん
2007/02/25(日) 16:52:23なにが不満?
0323デフォルトの名無しさん
2007/02/25(日) 18:15:04eval("MsgBox ""Hello""")
なんでこれが動かないの?
文字列か数値を返す関数しか呼べないなんて。
0324デフォルトの名無しさん
2007/02/25(日) 18:23:520325デフォルトの名無しさん
2007/02/25(日) 18:42:29自分のやつは画面左側のバーに10個くらいしかないんだけど
ネット見てたら6.0って書いてあるのにその倍くらいの数の
コントロールが表示されてるっぽかったから
色々探したけどできないんだよね・・・
0326デフォルトの名無しさん
2007/02/25(日) 18:45:25もうサポートフェーズも終了した開発ツールなんだけどw
0327デフォルトの名無しさん
2007/02/25(日) 19:12:19よほどの事が無い限り使わない方がいいな
0328デフォルトの名無しさん
2007/02/25(日) 19:27:09その程度は自分で設定すれば済む話じゃないか
0329デフォルトの名無しさん
2007/02/25(日) 19:53:35企業であれば仕方ないかもしれないな…・
個人でこれから始めようとするのにVB6はちょっと・・・とは思うけど
でも、いきなりドトネトやってクラスの海でおぼれるよりは・・・
と考えればそう悪いものではないかも
VBAにも繋がることだしさ
お勧めと言われればとりあえずC#進めるけどさ・・・
0330デフォルトの名無しさん
2007/02/25(日) 20:27:480331デフォルトの名無しさん
2007/02/25(日) 20:32:59スレ違いとおもふ
0332デフォルトの名無しさん
2007/02/25(日) 22:48:040333デフォルトの名無しさん
2007/02/25(日) 23:55:54そんな事聞くまでも無いだろ・・
0334デフォルトの名無しさん
2007/02/26(月) 00:08:18主流がどうかとかもどうでもいいしw
0335デフォルトの名無しさん
2007/02/26(月) 09:33:45今出回ってるPCのほとんどにはVB6.0以前が入ってるんだぞ。
VBAとしてだが。
0336デフォルトの名無しさん
2007/02/26(月) 10:06:410337へたれです
2007/02/26(月) 10:16:08このソフトはアクセスの入ってないPCに導入しても動くものなんでしょうか?
0338デフォルトの名無しさん
2007/02/26(月) 10:18:460339へたれです
2007/02/26(月) 10:40:06ありがとうございます。
0340デフォルトの名無しさん
2007/02/26(月) 12:21:45ここは普通にVBのランタイムを勧めるべきじゃないの?
0341デフォルトの名無しさん
2007/02/26(月) 21:11:29MDBならそっちのがはえぇぞwwww
後でSQL鯖にしますとか言われたらアボーンだけどw
0342デフォルトの名無しさん
2007/02/26(月) 22:02:440343デフォルトの名無しさん
2007/02/26(月) 22:18:07本を読んで勉強してるんですが、下のところで引数がなんとかってエラーが出てしまいます
Call Msgbox("Hello World!!",%d);
Hello World!!をかえてみたり、本をはじめから読み直してるんですがよくわかりません…
0344デフォルトの名無しさん
2007/02/26(月) 22:23:28printf ("Hello World!!",%d);
だろ。
帰ったら復習しとけよ。
0345デフォルトの名無しさん
2007/02/26(月) 22:23:44VB2 ずいぶんふるいの使ってるね。Windows 3.1用?
0346デフォルトの名無しさん
2007/02/26(月) 22:41:44コードを表示しているときにホイールが利くといいなーと思うのですが、どなたか実現されている
方、いませんか?
0347デフォルトの名無しさん
2007/02/26(月) 22:43:410348デフォルトの名無しさん
2007/02/26(月) 22:48:230349デフォルトの名無しさん
2007/02/26(月) 23:14:40http://support.microsoft.com/kb/837910/ja にありました。
どうもありがとうございました。これでだいぶ快適になります。
0350デフォルトの名無しさん
2007/02/27(火) 00:25:18一度Explorerにコピーしてからなら普通にファイルとして取得できるのですが、
直接ドラッグして、OLEDragDropイベントで捕まえようとすると
DataオブジェクトのFilesが「データの形式が一致しません。」となってエラーになってしまいます。
0351デフォルトの名無しさん
2007/02/27(火) 12:54:100352デフォルトの名無しさん
2007/02/27(火) 17:12:24eval("MsgBox(""Hello"")")
■ このスレッドは過去ログ倉庫に格納されています