回答受付が終了しました

テキストボックスに入力されたファイル名のエクセルファイルを開きたい

テキストボックスに入力されたファイル名のエクセルファイルを開きたい Access2016です。vbaでフォームのテキストボックスに入力されたファイル名のエクセルファイルをボタンを押すと直接開くようにしたいです。 ファイルパスが固定されている場合のやり方は分かったのですが、サブフォルダも含めて検索し、開くコードの書き方がわかりません。 どなたかご教授ください。

Microsoft Access | Visual Basic19閲覧xmlns="http://www.w3.org/2000/svg">500

回答(1件)

0

Sub Test Call SearchFile("C:\temp", InputBox("ファイル名を入力")) End Sub Sub SearchFile(Search_Path As String, OpenFileName As String) Dim objFs As Object Dim objFolders As Object Dim objFiles As Object Set objFs = CreateObject("Scripting.FileSystemObject") For Each objFolders In objFs.GetFolder(Search_Path).SubFolders Call SearchFile(objFolders.path, OpenFileName) Next For Each objFiles In objFs.GetFolder(Search_Path).Files If objFiles.Name Like OpenFileName Then With CreateObject("Wscript.Shell") .Run Search_Path & "\" & objFiles.Name, 5 End With Exit Sub End If Next End Sub

ありがとうございます。大変勉強になります。 コントロールソースでレコードが割り当てられたテキストボックスの横にボタンを配置して、そのボタンにvbaを埋め込みたいと考えています。開くファイルはxlsxに限定されています。テキストボックスに表示された文字と一致するファイル名のエクセルファイルをボタン押下で直接開きたいのですが、該当するファイルが同階層のたくさんのフォルダに分散されて保存されているため、サブフォルダも含めて検索し、一致したら直接ファイルを開くようにしたいと考えています。 よろしくお願い致します。