• ベストアンサー

ExcelマクロでPDFを選んで開く

ネット上で色々検索しましたがこれという例題が見つかりませんでしたので教えて頂きたいです。 サーバー上の共有フォルダー例えば \\AA01\BB02\cc01\PDFFILES にPDFファイルが数種類保存されているとします。フォルダーの中からABCの文字が含まれるファイルをファイル選択ダイアログなどで表示し、その中から選んでPDFファイルを開きたいのですが。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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)
回答No.1

こんなコードはいかがでしょうあ。 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

neo183
質問者

お礼

回答有難う御座います。 希望通りに出来ました‼。 欲を言えば初心者の私に解説など付け加えて頂ければ今後のマクロ作成に役立つと思いますので宜しくお願いします。

関連するQ&A