- ベストアンサー
ExcelマクロでPDFを選んで開く
ネット上で色々検索しましたがこれという例題が見つかりませんでしたので教えて頂きたいです。 サーバー上の共有フォルダー例えば \\AA01\BB02\cc01\PDFFILES にPDFファイルが数種類保存されているとします。フォルダーの中からABCの文字が含まれるファイルをファイル選択ダイアログなどで表示し、その中から選んでPDFファイルを開きたいのですが。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub Sample() 'ファイルを選択するダイアログボックス格納変数を宣言 Dim FD As FileDialog 'いつも見慣れたダイアログボックスを↑の変数に格納する Set FD = Application.FileDialog(msoFileDialogOpen) With FD '以下、↑の変数について '初期に開くフォルダーと表示するファイル名(の一部)を与え .InitialFileName = "\\AA01\BB02\cc01\PDFFILES\*ABC*" 'ダイアログを開き 'OKボタンをクック、あるいは、 '選択されたファイル名の行をダブルクリックしたら If .Show = True Then 'AplDataOpenというサブルーチンを呼び出す 'その呼び出すサブルーチンに、 '選択したファイルのフルパスを与える 'もし複数選択したら2つ目以降を無視して、1つ目を与える。 AplDataOpen .SelectedItems(1) ’これは単なるコメント '.Execute ’キャンセルボタンが押されたら Else ’メッセージを表示する MsgBox "キャンセルされました" End If End With End Sub '引数に当たられたファイルを開くサブルーチン 'これから新たにマクロを作成したときにも使えるように '今回は、サブルーチンにしました。 'かっこよく言えば、部品化です。 'やっていることは 'エクスプローラ上でPDFファイルなどをダブルクリックするのと '同じ動作です。 'あるいは 'ファイル名を指定して実行を選び 'C:\Data\ほげほげ.pdf 'といったコマンドを実行するのと同じ動作です。 Sub AplDataOpen(MyPath As String) With CreateObject("Shell.Application") .ShellExecute MyPath End With End Sub
その他の回答 (1)
- HohoPapa
- ベストアンサー率65% (455/693)
こんなコードはいかがでしょうあ。 Sub Sample() Dim FD As FileDialog Set FD = Application.FileDialog(msoFileDialogOpen) With FD .InitialFileName = "\\AA01\BB02\cc01\PDFFILES\*ABC*" If .Show = True Then AplDataOpen .SelectedItems(1) '.Execute Else MsgBox "キャンセルされました" End If End With End Sub Sub AplDataOpen(MyPath As String) With CreateObject("Shell.Application") .ShellExecute MyPath End With End Sub
お礼
回答有難う御座います。 希望通りに出来ました‼。 欲を言えば初心者の私に解説など付け加えて頂ければ今後のマクロ作成に役立つと思いますので宜しくお願いします。