VB6.0 + Windows 2003環境でのShell関数の使用について
- VB6.0を利用してプログラムを作成していますが、Windows 2003環境でShell関数を利用してexeファイルを起動する際に問題が発生しています。
- Windows XPでは正常に起動するexeファイルが、Windows 2003では起動しない現象が発生しています。
- エラーログによると、VBRuntimeエラーが発生しており、実行時エラー'91'が表示されています。VBRuntimeのバージョンは6.0.97.82です。
- ベストアンサー
VB6.0 + Windows 2003環境下でのShell関数の使用
現在、VB6.0を利用してプログラムを作成しています。 プログラム中からShell関数を利用してexeファイルを起動しようとしているのですが、exeファイルが起動しません。 実行環境OSがWindowsXPの場合は正常に起動するのですが、Windows2003で同じように実行したさい、exeファイルが起動しないのです。 イベントビューアのアプリケーションログを調べたところ、VBRuntimeエラーが発生していました。 エラー内容は、「実行時エラー'91'オブジェクト変数または With ブロック変数が設定されていません。」です。 VBRuntimeのバージョンは6.0.97.82です。 何か原因・解決策が分かる方いましたら ご協力お願いします。
- cio238
- お礼率30% (3/10)
- Visual Basic
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
環境の違いが出てるだけじゃないですか? VBのランタイムDLL以外のDLLやOCXを使っているのでは? [プロジェクト]-[参照設定]でチェックの入っているものの場所 (下に表示されている)にあるファイルが DllやOCXが環境(WindowsXP,Windows2003共に) に存在するか調べてみてください。 たぶん何かが欠けてると思いますよ。
関連するQ&A
- VBのshellについて。
すみません。教えてください。 環境OS:winXP ソフト:VB6.0 sp5 内容:shellを利用してbatファイルをキックさせようとしていますがうまくいかないのです。 --VBソース-- Str = "C:\program file\SOFT\test.bat" & "/w" nR = shell(Str,1) -- batファイルの中身-- @echo dir %1 > "C:\Program File\SOFT\log.txt" 以上のデータなのですが、EXEを作成し、Shellを起動するとエラーが帰ります。 確認したところ、windows2000では問題ないのですが、XPではProgram Fileのスペースが問題で、エラーになってしまうのです。 教えていただきたいのは、 1.本当にXPではスペースのあるディレクトリ名はエラーになるのかということ。 2.もしエラーになるのであれば、対応策。 の上記の2点を教えてくださいませ。 いろいろ試し、探しているのですが、なかなか見つからず困っています。 XPのみできないっていうのも半信半疑だし・・・・ お願いします。
- 締切済み
- Visual Basic
- shell関数について
毎度、お世話になっています。 現在、C言語で書いた複数のプログラムをBATファイルで処理するように記述しています。VBでその制御を行っているのですが、VBの処理手順として子フォーム(textあり)にデータを書きこんで、ボタンを押すとshellでbatファイルを起動し、バッチファイルの結果として、あるディレクトリにresult.txtが作成され、VBで他の子フォームに読みとらせようとしているのですが、shellだと、実行の終了を待たずに次にいってしまうので、そのバッチファイルの実行処理が終わらず、result.txtの内容を読み込むことができません。 待つようにするにはどうすればよいのでしょうか? ちなみにVBは一週間前にはじめて、自分でも調べてなんとか作ろうとしたのですが、時間がないため、ここに質問させていただきました。なるべく簡単なアルゴリズムで、よろしくお願いします。 VBのプロセス テキストにデータを書き込む ↓ ボタン → テキストの内容を*.txtとして保存 ↓ バッチファイル起動 ↓(ここで右の実行を待たない ↓ ので読み込むことができない) C言語で書かれたプログラム実行 ↓ result.txtを ← 結果としてresult.txtが出来上がる 読み込んで表示
- ベストアンサー
- Visual Basic
- 実行時エラーについて
お世話になっています。教えて下さい。 VBで作ったプログラムです。 デバッグ時には何の問題もなく、実行可能(完全コンパイル後に実行)で、コンパイルも問題なく通りますが、EXEにして実行すると、以下のエラーが出ます。 実行時エラー:'91' object変数、またはwithブロック変数が設定されていません。 どなたか、原因に心当たりがある方、いらっしゃったら教えて下さい。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- VB6のWScript.Shellについて
VB6のWScript.Shellで、他のVB6プログラムを起動する時の戻り値について教えてください。 AというVBプログラムからBというVBプログラムを起動するシステムがあります。 Bというプログラムで取得した値をAに返す方法はありますでしょうか? Aのソースは以下の通りです。 --------------------------------------------- sub test() dim objWshShell set objWshShell = Wscript.CreateObject("WScript.Shell") objWshShell.Run "C:\B.exe" & " " & hikisu1 & " " & hikisu2 , 1, wait End Function ---------------------------------------------- objWshShell.Runの戻り値はtrueまたはfalseのみのようです。 B.exeからtrue、false以外の値を取得する方法はありますか? また、やり方はobjWshShell.Runでなくてもよいです。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- Shell関数?
いつもお世話になってます。 XPでMicrosoft Visual Basic 2008 Express Editionを使ってます。 A.exeとB.exeを作りました。 Aを実行→OKボタンを押す→Bが実行される というのを作ったんですが、 <Aのプログラム> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Shell("C:\B.exe", AppWinStyle.NormalFocus) Me.Close() End Sub を実行するとBが二度(?)実行されて(途中で止まってるような・・・) 「別のプロセスで使用されているため、プロセスはファイル"C:\B.exe"にアクセルできません。」 となります。 ちなみにB.exeはPC起動時は常に表示されるようにつくりました。 説明が足りないかもしれませんが解決しなくて困ってます。 どうしたら解決するか教えてください。
- ベストアンサー
- Visual Basic
- Shellの使い方について
VBを最近はじめたのですが、Shellがうまくいかず、困っています。 下記のような内容で、MS-DOS上で動作するプログラムをShellで呼び出していますが、ファイルが見つからないというエラーが出てしまいます。(<D:\kakasi\401.txt:No such file or directory) com1 = "kakasi.exe " + param + " <" + lbl_open_file + " > " + lbl_save_file retval = Shell(com1, vbNormalFocus) kakasi.exeには、パスが通してありますので、lbl_open_fileやlbl_save_fileのファイルが見つからないと思われます。 実行時のcom1の値は、kakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1 になっていて、DOSプロンプトから手入力、実行ではうまくいきます。 何が問題なのか分かる方、教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- ActiveX → VB を起動するとCreateObjectできない。
初めまして。 2003Server+IIS6.0の環境でASP内のActiveXからShell関数でvbのexeを実行させる処理を作成しております。 サーバーから直接exeを実行させると正常に動くのですが、Web上からasp→ActiveX→exeを起動させるとテキストに書き込む処理はできるのですが、「CreateObject」文で「ActiveX コンポーネントはオブジェクトを作成できません」というエラーが返ります。 VB内でなぜ「CreateObject」が出来ないのかご存知の方はいますでしょうか。 宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- Windows7でのVB6 ImageCombo
お世話になります Windows7 Pro でVB6.0を使用して開発しています ImageComboBoxで初期選択処理が動作せず困っています。。。 ソース: ImageCombo.ComboItems(2).SELECTED = True このあとSelectedItem.Indexの値をイミディエイトから確認すると 実行時エラー”91” オブジェクト変数またはWithブロック変数が設定されていません となってしまいます(LockプロパティはFalseです) WindowsXPのPCで確認すると 上記処理は正しく通ります Windows7だからでしょうか。。。 何かご存知の方いらっしゃいましたらご教授頂けると助かります 宜しくお願いします
- ベストアンサー
- Visual Basic
- VB6.0から起動したexeファイルを終了するとエラーが発生して困っています
VB6.0(OSはWindowsXP)中からShell関数を利用してexeファイルを起動したのですが、そのexeファイルを終了すると決まってアプリケーションエラーが発生します。これを直接かショートカットで実行して終了するとエラーは出ません。どなたか考えられる原因や解決策をご存じの方、教えて頂けませんでしょうか?よろしくお願い致します。
- ベストアンサー
- Visual Basic
- VBからExcelが起動しません
Excelファイルを開くプログラムをVBで作成したのですが 1つのパソコンだけ実行時エラー5が発生してExcelを起動できません どなたかお助けください プログラムはこんなかんじです WKPATH = "D:\Program Files\Microsoft Office\Office\EXCEL.EXE " & " c:\a.xls" exl = Shell(WKPATH, 1) ちなみにエラーが発生するパソコンはNT4.0sp6です
- ベストアンサー
- オフィス系ソフト