- ベストアンサー
VBでメモ帳やペイントを呼び出すにあたって
コマンドボタンを押したときにペイントを呼び出す方法は Call Shell("Start MsPaint", vbHide)を挿入したらできるとわかりました。 しかし実行してみるとファイルが見つかりませんとダイアログが出たんですこれは何が原因なのでしょうか? なにかコンポーネントを追加しないと呼び出したりできないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
前の質問に回答をいれたものです。そう言う関連で本件入れます。 原因はプログラムとファイルのあり場所がうまく前提の場所とあってないからだと思います。 次ぎのことを勉強のため、やって見ることを提案します。 (1)私は充分詳しくはないのですが、 x=shell("A-B",vbNormalFocus)<A,Bは(2)(3)で説明します。> でやっています。call,startをいれてやると (私の場合)カーソルが消える不安定を引き起こしたので 意味が判らないですが、避けました。call,startは以前からなくてもうまく行っていたので省きました。 充分わかっていない者の説明にも、むしろ何かヒントを得てもらえると思って、少しの恥は覚悟で入れました。 さてShellはDosPrompt(DosのCommand.Com)を呼び、A、Bを引数として渡すようです。 (2)そしてAの部分には、実行するアプリのあり場所とプロブラム名を指定します。さてそのプログラム名もどうしたら判るか充分わからない者ですが、本ケースではmspaint,pbrushです。そしてそのあり場所なんですが、私は判らないときは、スタート-検索で名前にmspaintといれ、探す場所を(C)にして検索開始し、出てきた結果の中で「.exe」のものを探し、C:以下「すべてを」メモします。 それを正確にAの部分にいれます。 私の場合はc:\Program Files\Internet Explorer\Iexplore.exeでした。 (3)BはAのアプリが表示や加工するインプットファイルを指定します。URLの場合もあります。それはファイル名だけでなく、あり場所を指定する必要があります。 それを完全に(フルパス)知るには、(2)と同じく検索画面で、名前の欄にtest01.bmpといれ、探す場所を(C)か(D)とか大きくとって、検索して出てきた結果の「C:」以下「すべてを」メモします。それをBの部分に 正確に入力します。 私の場合はc:\windows\デスクトップ\test01.bmpでした。 (4)そしてAとBの間に半角スペースを入れること。 (5)以上は基本論です。長ったらしい名前の一部を省略 するのが通例です。どう言う場合にどの部分まで省略出来るかはカレントディレクトリとか、パスを通すとかいう考えがあります。これを勉強する必要があります。アイコンで指定になれた人でDos時代を経験してない人はそうなるでしょう。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
#4のものです。一部にミスがありました。済みません 訂正します。 (誤り) 私の場合はc:\Program Files\Internet Explorer\Iexplore.exeでした。 (正) 私の場合c:\Program Files\accessories\mspaint でした。最後に「.exe」を添えても良い。 (1)shellの()内の初めと終わりは"と"で囲んで 下さい。 (2)大文字小文字は違っていてもOKのようです。 スペースの有無はエラーになります。
お礼
ありがとうございました^^!!
> 実行してみるとファイルが見つかりませんとダイアログが出たんですこれは何が原因なのでしょうか? 他のプログラムは動きますか? Call Shell("Start Notepad", vbHide) Call Shell("Start Calc", vbHide) Call Shell("Start Excel", vbHide) Call Shell("Start WinWord", vbHide) 等で確認してみてください。
補足
なんどもありがとうございます。確認してみたところ動きませんでした。 OSはXPですがOS自体を再インストールしたほうがはやいでしょうか ^^;
前の質問をちゃんとクローズしましょう。 質問を上げたまま、後はほったらしというのは嫌われますよ。 他の利用者のことも考えてマナーは守りましょう。 > ファイルが見つかりませんとダイアログが出たんですこれは何が原因なのでしょうか? ペイントが削除されていませんか。スタートメニューから通常の方法で起動できますか?確認してみてください。
お礼
アドバイスありがとうございます。クローズするのを遅れてごめんなさい。 以後気をつけますm( _ _ )m
- taknt
- ベストアンサー率19% (1556/7783)
ここの Visual Basicのカテゴリは ExcelなどのVBAや VB6.0などもあります。 Call Shell("Start MsPaint", vbHide) は VB6.0で確認したところちゃんと ペイントが出てきました。 使用されている環境も書かないとダメでしょうね。
補足
すみません^^;OSはXPです
お礼
Call Shell("C:\WINDOWS\system32\mspaint.exe", vbNormalFocus) いわれたとおりにつくり上の文を入力したらなんとできました!! 本当にありがとうございました!!(T_T)