• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロでファイル名(を含む)を検索しPDFを開く)

マクロでファイル名を検索しPDFを開く方法

このQ&Aのポイント
  • マクロを使用して、ファイル名を含むPDFファイルを検索し、ファイルが存在すれば開く方法について質問です。
  • 現在のマクロでは、部分一致でファイルを開けるようにするために「*」を使用していますが、エラーが出てしまっています。
  • また、検索対象のPDFファイルにスペースが含まれている場合も、問題なく開ける方法が知りたいです。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

試してみましたが、Wscript.ShellのRunコマンドにワイルドカードは使用出来ない様です。お望みの事を実現するには、Dirのループを回すしかないかと思います。ご参考まで。 Sub test() Dim keyword As String Dim myPath As String Dim fName As String Dim pname As String Dim my As Worksheet Dim wsh As Object Set my = ActiveSheet keyword = my.Range("D2").Value '検索する値 myPath = my.Range("F1").Value 'フォルダパス Set wsh = CreateObject("Wscript.Shell") pname = (myPath & "*" & keyword & "*" & ".pdf") fName = Dir(pname) If fName = "" Then MsgBox ("該当するファイルが存在しません。") Exit Sub End If Do Until fName = "" 'Runコマンドにワイルドカードは使えないと思う-試行結果より→ループを回してヒットする物を取得する必要あり 'スペースの入ったパス対策としては""""で囲う必要あり wsh.Run """" & myPath & fName & """", 5 fName = Dir() Loop Dir "" 'ファイルロック解放 Set wsh = Nothing End Sub

nex490
質問者

お礼

早速、試してみたところ、自分がやりたいことが出来ました。まだまだ初心者なので調べながらやっていますが、なかなかうまくいかないことが多く困っていたので本当に助かりました。 ありがとうございました!!

関連するQ&A

専門家に質問してみよう