プロが教える店舗&オフィスのセキュリティ対策術

Excel VBAで、Excelのシートへの取り込みの必要はなく、テキストファイルを、拡張子で登録してあるメモ帳や秀丸なので開きたいです。

現在、単純に↓で開いています。
 CreateObject("Shell.Application").ShellExecute "ファイルのフルパス"

ファイルのフルパスは、マクロを実行して変数で取得しています。

ファイルが存在する場合はこれで問題なく開くことができるのですが、
ファイルが存在しない場合など、エラーのハンドリングがうまくできません。

最低限、以下の3つのパターンでエラーメッセージの表示を変えたいと思ってます。
1.ファイルが存在しない場合
2.パスが存在しない場合
3.その他エラー(On Errorで回避できれば十分)

VBA初心者なので、お知恵を拝借できないでしょうか?

よろしくお願いします。

A 回答 (1件)

FileSystemObject の FileExists メソッドを使うとか。


https://msdn.microsoft.com/ja-jp/library/cc42804 …
存在すれば True が帰ってきます。
FileExists の引数にテキスト ファイルのパスを与えるため、質問にある 1 と 2 を一緒に解決します。

ファイルが存在しない場合とパス(フォルダー?)が存在しない場合を分けて処理したいのであれば FolderExists メソッドもあります。

ここも参考になります。
http://www.atmarkit.co.jp/ait/articles/0805/15/n …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
このところ時間が取れなくて、まだ試せてませんが、教えていただいたサイトを参考にして試してみます。
ありがとうございました。

お礼日時:2017/08/08 00:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています