- ベストアンサー
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です
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 おそらくパスに半角スペースが入っているのがまずいのだと思います。 この場合はパスをさらに""(ダブルクォーテーション)で括らないといけません。 WKPATH = """D:\Program Files\Microsoft Office\Office\EXCEL.EXE""" & " " & "c:\a.xls" こんな感じです。 過去の質問と参考URLもどうぞ http://oshiete1.goo.ne.jp/kotaeru.php3?q=95419 http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp417%2F0%2F89%2Easp&LN=JA では。
その他の回答 (3)
- ittochan
- ベストアンサー率64% (2667/4137)
>しかしなんでこのパソコンだけ >エラーになるのでしょうか? パスに空白があると、エラーが出る現象として ↓も該当するようですが、どうでしょう。
お礼
ありがとうございました
WKPATH = """D:\Program Files\Microsoft Office\Office\EXCEL.EXE"" " & " ""c:\a.xls""" こうすれば大丈夫だと思います。 Shell関数でパスに半角スペースが含まれる場合には、連続したひとつの文字列として認識させるために、二重引用符(")で括る必要があります。 最近のWinOSでは、なくても実行できたりする場合もありますが、半角スペースを含むファイル名を指定する場合は付けるべきです。 常に付けるようにしておけば、半角スペースの有無によらず、実行できますので、付けるのをクセにした方が良いと思いますよ。
お礼
ありがとうございました
- TTU006
- ベストアンサー率22% (8/35)
これだけの情報じゃなんともいえないですが、 考えられるのは、 1・パスが違う 2・そのPCは他のPCとエクセル(オフィス)のバージョンが違う(バージョンが違うと、フォルダ名、EXE名も変わります)。 3・エクセルがインストールされてない です。 有力候補は2じゃないかと。
お礼
ありがとうございました
お礼
ありがとうございました
補足
早速の回答ありがとうございます maruru01さんのおっしゃるとうりダブルクォーテーションをつけるとエラーは 出ませんでした しかしなんでこのパソコンだけエラーになるのでしょうか? 同じような環境のNTが他にもあるのですがそちらではエラーにならないんです