こんにちは。
VBAを使うことが、頻繁ではないですが、ちょくちょくあり、
その都度「コードってこれで良かったっけ?」「どう書くんだっけ?」
となることが、しばしば、、、あります。
その時その時で調べて、確認して、コードを書いてとしていたので、
自分が使いやすいように、コードをまとめます。
内容
エクセルからVBAを使って他のファイルを開くコードをまとめておきます。
また、関数を使用するコードもあわせてまとめておきます。
エクセルファイルと開く対象のファイル(例としてテキストファイル)を準備しました。
テキストファイル内には、「開けた!」と記載しております。
コード
ファイルを開くコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Sub testOpenFile() Dim strFilePaht As String strFilePaht = "C:\test\testOpenFile\テスト.txt" Call funcOpenFile(strFilePaht) End Sub '■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 'Date: 2020/3/2 'Contents: 引数で指定されたファイルを開く(パス内には拡張子も含む) 'Argument: sFilePath As String 'RValue: 無し(boolで返しても良いかも) 'Author: 'Update: ▲1:yy/mm/dd XXX ' 'remaarks: 'remaarks: '■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ' Function funcOpenFile(sFilePath As String) If Dir(sFilePath) <> "" Then CreateObject("Shell.Application").ShellExecute (sFilePath) Else MsgBox sFilePath & "が存在しません" End If End Function |
コードを実行
下図の状態から実行してみます。
実行すると、以下の図ようにファイルが開けました。
テキストファイルの例を記載しましたが、拡張子を変えれば、
PDFファイル、mp4などの動画ファイルも開くことが出来ました。
ファイルが存在しない場合には、ファイルが無い事をメッセージBOXで表示します。