1 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 17:33:37 ] ここは Visual Basic 〜6.0 の質問スレです。 質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、 「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。 ○ 質問者の心得 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。 二.VBScript、インストーラーなどはこのスレでOK。 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。 四.荒らしは相手しない。 ○ 回答者の心得 一.答えられない質問は無駄に罵倒せずスルー。無理するな。 二.代用法を強制しない。 三.回答する上で必須ではない情報をむやみに聞き返さない。 四.荒らしは相手しない。 五.VB情報募集中。 六.回答は質問者が理解できるよう具体的に。 MSDN Online Japan ホーム www.microsoft.com/japan/msdn/default.asp Visual Studio 6.0 Service Pack 6 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx Google www.google.co.jp/ ※「まず自分で調べる」クセを身につけよう。
239 名前:231 mailto:sage [2007/06/17(日) 12:43:38 ] '---- Form1 ---- Private WithEvents mValidator As CInputOrderValidator Private Sub Form_Load() Set mValidator = New CInputOrderValidator End Sub Private Sub Command1_Click() mValidator.SetNextInput (Button1) End Sub Private Sub Command2_Click() mValidator.SetNextInput (Button2) End Sub Private Sub Command3_Click() mValidator.SetNextInput (Button3) End Sub Private Sub mValidator_ValidationFinished(result As eValidationResult) If result = Valid Then MsgBox ("OK !") Else MsgBox ("NG !") End If mValidator.Reset End Sub
240 名前:222 [2007/06/17(日) 14:30:34 ] ありがとうございます まだコードを実行してないんですが、これを実行する場合って Buttonのフォームが必要ですよね? 本を見た感じだと画面左のコマンドやらラベルやらを引っ張ってくる場所から ボタンも引っ張ってこれるようになってるっぽいんですが、自分のVB6.0には 入ってないっぽいんですよね・・・画面色々いじくって表示させられないか試したりもしたんですが・・・ あとこれを実行して上手く自分の目的の機能を実現するためには、コマンドやボタン 以外にもフォーム上に引っ張ってくるべきアイテムはありますか?
241 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:39:51 ] >>240 必要な操作は、 (1) プロジェクトにクラスモジュールを追加して、プロパティグリッドで名前を"CInputOrderValidator" に変更して>>236 以降のコードを貼り付ける。 (2) Form1にコマンドボタンを三つ(Command1、Command2、Command3)貼り付けて >>239 のコードを貼り付ける。 これだけだよ。
242 名前:デフォルトの名無しさん [2007/06/17(日) 19:04:45 ] >>235 まさかとは思うが、 DoNextProc これもコードとしてそのまま書いたのか?
243 名前:デフォルトの名無しさん [2007/06/17(日) 23:04:21 ] >>242 そのまま書いていました・・・ >>241 実行できましたありがとうございます この場合だとコマンド1、2、3の順で押された場合はAの処理 他の順で押される5通りの場合はBの処理が行われるといった感じになっていて これを全てバラバラに考えて(例えば、2、1,3の順で押されたらCの処理) といったようにしたいと思ってクラスモジュール内でこの機能を実現するために 関係してきそうな部分を探して考えてみたんですがいまいちどこをいじればいいかが分かりません・・・ 何度も申し訳ありませんが、これに関してアドバイスいただけると助かります よろしくお願いします
244 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 09:09:47 ] >>243 一連の流れを眺めてみたけどさ、もっと本質を理解したほうが良いと思うよ VB6以前なら強力なデバッグ実行機能もあるんだしさ ・暗記すべき部分はきっちり暗記汁(VBの予約語等 ・エラーが出たら、メッセージ良く嫁 ・デバッグ実行でどんな処理がどこで行われているか調べるべし ・コードの全体をイメージ出来るまでひたすら読んだり書いたりデバッグ実行したり汁 ・つーか、ちっとは自分で考えろw
245 名前:デフォルトの名無しさん [2007/06/18(月) 17:16:16 ] >>243 Select Caseも知らんのか。 あと>>242 で言ってるのは要約すると、 サンプルとして挙げられたソースに記述してあるコメントくらい普通に理解しろってことなんだが… 分かるか?
246 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 19:56:33 ] ここ1,2週間で聞いてきてるやつは全部同一人物っぽいな・・・
247 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 19:59:25 ] 終わった言語をいまさらスタートする奴なんてそんなにいないしな
248 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:03:55 ] 勝手に終わってろカオス
249 名前:デブオ [2007/06/19(火) 16:58:10 ] すみません。VB(6.0)で指定されたURLにファイルをPOSTする。 又、指定されたURLからファイルをダウンロードすことってできますか? できるとすればどのようにすればいいのでしょうか? どなたか教えてください。
250 名前:デフォルトの名無しさん [2007/06/19(火) 17:00:28 ] >>249 WEBBROWSERコントロールでも使ってろよw
251 名前:デブオ [2007/06/19(火) 17:16:19 ] WEBBROWSERコントロールというのは標準で入っていないようなのですが? MSWebDVDコントロールのことでしょうか?
252 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 17:24:11 ] マジレスすると メニュー>プロジェクト>コンポーネント>コントロールで 該当するやつのチェック外せばいいよ どのコントロールかぐらいは自分で調べろ
253 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 17:33:11 ] ×チェック外せば ○チェック入れれば
254 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 19:06:09 ] VB6のWebBrowserコントロールは ビスタでも問題なく使えますか?
255 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 21:20:25 ] 使えるかどうか自分で試して それをここに報告すれば良いのでは
256 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 00:49:42 ] VBって遅いよな
257 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 01:37:24 ] Cって速いよな でもC++って劇遅だよな
258 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 02:09:20 ] >>256-257 つまんねえ釣りはVIPでやれ
259 名前:デフォルトの名無しさん [2007/06/20(水) 15:30:14 ] FlexGridの行選択についての質問です FormLoadに flexGrid.SelectionMode = flexSelectionByRow をいれることにより行選択は可能になりますが、 範囲指定を不可能にする方法はありますか? また選択している行の位置を求める方法はどうするのでしょうか?
260 名前:デフォルトの名無しさん [2007/06/20(水) 23:19:49 ] レジストリのキー値(ツリーの枝の部分)の取得方法をご教授ください。 例) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-19 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-20 のS-1-5-18、S-1-5-19、S-1-5-20を検索して取得したい。 以上宜しくお願い致します。
261 名前:デフォルトの名無しさん [2007/06/21(木) 09:26:00 ] >>259 範囲選択を不可能にする方法はある 行に値を調べる方法は Rowプロパ
262 名前:261 [2007/06/21(木) 09:26:52 ] 誤植 行の位置を調べる方法は Rowプロパティのヘルプを見てみないか?
263 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 14:41:36 ] まずアプリケーションウィザードを使って適当なプロジェクトを作る。 そのときバージョン情報ダイアログを組み込むように指定する。 そのフォームの「システム情報」ボタンがレジストリにアクセスしてるから そこをパクる。 簡単な取得だけならこれで済むと思います。 このコードは、レジストリに読み書き権限でアクセスするので、guestとか制限ユーザーだと エラーになるかもしれません。APIビューアからKEY_READを探してきて、 読み取り専用権限に直しておいてください。
264 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 15:36:44 ] >>263 は>>261 です。悪かったな。
265 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 15:39:02 ] すいません>>263 は>>260 へのレスです。たびたびごめんなさい。
266 名前:デフォルトの名無しさん [2007/06/21(木) 16:29:07 ] イ〜ンダヨ〜
267 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 16:50:01 ] ブル〜ダヨ〜
268 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 08:29:21 ] Visual Basic 5.0でActiveXコントロールを作成し、セットアップウィザードを利用して インターネットで配布するファイルを生成しましたが、 サーバに配置してアクセスしてもインストールが開始されず、 左上に×マークがでるだけの状態です。 どうすれば正常にインストールされるようになるのでしょうか? なお、配布ファイルには署名をしており、ブラウザはIE6で、 ActiveX関係の設定は有効にしています。
269 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:30:11 ] コンポーネントShockwave Flashで外部から読み込んだSWFファイルの右クリックメニューを完全に消す方法を教えて下さい
270 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:36:03 ] >>268 ディストリビューションウィザードのこと? サーバ上に配置したファイル名を全て挙げてみ? それとVB関係無いがファイルのアクセス権限はどうなってる? >>269 なにそのVBのVの字も出てこない素敵Questionはwwww Flashについてはよく知らないが、ひょっとしてJavaScriptの話じゃね? スレチにも程があるよ?
271 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:17:00 ] 上から質問に答えると ・6.0でディストリビューションウィザードといわれるものが5.0でのセットアップウィザードのようです。 ・CABとHTMファイルです。 ・読み、書き、実行権限を全員にすべて与えている状態です。
272 名前:デフォルトの名無しさん [2007/06/25(月) 15:05:43 ] >>271 CABは圧縮ファイルであって、インストーラではないのだが。
273 名前:デフォルトの名無しさん [2007/06/25(月) 15:08:21 ] >>271 ウィザードで作られるファイルは3つあるはず。 CABしかあげてないから駄目なんじゃね? Setup.exeともう一つなんかあったような
274 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:15:51 ] >>273 SETUP.LST
275 名前:268 mailto:sage [2007/06/25(月) 17:32:31 ] セットアップウィザードで作成されたファイルは CAB・HTMファイルと、SUPPORTフォルダ(中にOCX・DDF・INFファイル)でした。 Setup.exeやSETUP.LSTといったファイルは見つけることができませんでした。
276 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 05:31:24 ] VBはよく知らないC使いなのですが、 VBで作られたEXEファイルは完全な機械語のファイルなのでしょうか? それとも中間言語が入っているのでしょうか?
277 名前:デフォルトの名無しさん [2007/06/26(火) 08:05:21 ] >>276 Pコードのオプションつければ中間もつくれる
278 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 09:33:00 ] >>276 コンパイルするとC2.EXE と LINK.EXEが裏で動いている。
279 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:02:51 ] みな様お世話様です。 VBScript(WSH)をかじり始めたものです。 作成したCVSファイルに1行追加したいのです。 Set objText = objFile.OpenAsTextStream(8,0) objText.WriteLine("搬入年月日,Xコード,工場コード,得意先コード〜他") (8,0)で8が追加モードとのことですが挿入ってのはないんでしょうか? 最終行ではなく一行目にWritelineの内容を挿入したいのです。 何かヒントいただければ幸いです。
280 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:03:16 ] VB6なんですが、 WebBrowserを利用してどこかのサイトを読み込ませて、読み込み完了まで待機するという処理で、 実行エラー -2(fffffffe) オートメーションエラーが発生してしまいます。 以下、例 WebBrowser2.Navigate "www.yahoo.co.jp/" DoEvents Do While WebBrowser2.Busy = True ⇒ DoEvents 'ここで発生 Loop Do While WebBrowser2.Document.ReadyState <> "complete" DoEvents Loop 処理自体がいけないのでしょうか? DoEventsの使用方法がおかしいのでしょうか?
281 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:30:18 ] >>279 案1 既存のファイルを全部読む 先頭に連結して保存 案2 バッチ
282 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:11:48 ] >>266-267 どうでもいいけどあのCMの曲って全員集合のアレンジなんだよね。
283 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:13:28 ] あと>>279 につっこませてくれ。それを言うならCSVです、と。
284 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:18:50 ] >>276 >>277 は メニューのプロジェクト→プロジェクトのプロパティ 「コンパイル」タブの話です。
285 名前:279 mailto:sage [2007/06/27(水) 11:21:18 ] >>281 どうもです。 案1の場合、既存のCSVをInputにして1行ごとにOut。。 その時にヘッダー、、項目行と結合って事でしょうか? >>283 ( ̄□ ̄;)!! あっ
286 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 12:14:14 ] VBScriptでCVS作ったらまさに神だな・・・ いつ落ちるか怖くて使いたくないがw
287 名前:デフォルトの名無しさん [2007/06/27(水) 13:15:23 ] >>285 横レスだが 別にStreamだし一気に読みこんでそこにくっつけるんでいいんじゃないの?
288 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 13:55:51 ] 他のアプリケーションでオープン中のファイルを直接編集・更新かける方法は 御座いませんでしょうか?
289 名前:279 mailto:sage [2007/06/27(水) 14:27:03 ] >>287 objRead.AtendOfStream 〜 こういうやつ? InsertLine なんてもあったとは知らなかった、、、 なんとなくどうすればいいか見えてきた気がします。 みんなヒントサンクスです。もうちょい頭ひねってみます でも。。。(´・ω・`)突っ込みあってから元気でないよー
290 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 14:42:16 ] >>288 「他のアプリケーション」はオープンしてるファイルを 横から書き換えられて誤動作しないの?
291 名前:279 mailto:sage [2007/06/27(水) 15:18:43 ] Set objRead = objFso.OpenTextFile(読込CSVの保存パス , ForReading) objRead.ReadAll intLine = objRead.Line まずこんなんやってみました。 ここから行数わりだして、その値をとりあえず「x」として その「x」が1行目をさす所に"InsertLine〜"を考えています。 たぶんいろんなやり方あるんだろうけど、ここからやっていきます。 また詰まったら指導お願いすると思うのでよろしくです。
292 名前:デフォルトの名無しさん [2007/06/27(水) 15:29:17 ] >>279 のような行動が当たり前なんだろうけど、このスレではものすごい優秀な行動に見えて困るw
293 名前:デフォルトの名無しさん [2007/06/27(水) 23:01:08 ] tempというエクセルファイル(マクロを実行するファイル)と同じ階層に 財務****.xls(*は日付)というファイルが複数あって、 財務ファイルのセルA1とA10の値をtempにリスト化させるにはどうしたらいいのでしょう? 財務ファイルを一つずつ開けてたらきりがないので一気に処理できたらと思うのですが・・・。 できれば、 財務ファイル名、A1、A10 が横に並んでて、縦にファイル全ての値がリスト化できるようにしたいのですが、どなたかご存じないですか?
294 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:56:51 ] ・フォルダ内の全てのファイル名を順に得るようなコードを書いてみる ・任意のエクセルファイルを開いてA1〜A10を読むコードを書いてみる ・二つをくっつける。ファイル名が自身と同じなら読まない。開くたびに一行ずらす。 って、VBAはスレ違いじゃなかったっけか。
295 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 04:42:41 ] > ここから行数わりだして、その値をとりあえず「x」として > その「x」が1行目をさす所に"InsertLine〜"を考えています。 何言ってるかわからんのだけど誰かわかるの居る? >>279 の目的で行数調べる必要どこにあるんだ? >>292 ?