データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
上に掲載したサンプルは、ファイル名を代入せず処理しているから分からなかったのかな?
大まかな流れをどうしようとしているか分からないので適当です。
' ファイル選択ボタン
' ボタン名称は適当。
Private Sub CommandButton1_Click()
Call Sample2
End Sub
Sub Sample2()
Dim FSO As Object
Dim SelectedFile As String
With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
' .Filters.Add "Excel2003", "\*.xls"
' .Filters.Add "Excelファイル", "\*.xlsx"
' .Filters.Add "Excelマクロ有効", "\*.xlsm"
' 扱いたいファイル種別を一括指定してプルダウンでの切り替えを無くした。
.Filters.Add "選択**", "\*.docx,\*. xlsx,\*.pptx,\*.pdf"
.InitialFileName = "G:\download" ' 初期表示フォルダ
.AllowMultiSelect = False ' ファイル1個だけ選択可
If .Show = True Then
' Excelファイル以外では.Executeしても意味ないのでコメント化
' .Execute
' 選択したファイル名を取得
SelectedFile = .SelectedItems(1)
' フォームのテキストボックスへも転記?
TextBox1.Value = SelectedFile
' ファイルを開く
' 別ボタンで動作させる場合はこのセクションを移動。
' (対象ファイル名は、TextBox1.Value 又は SelectedFileをグローバル変数にして所得
Set FSO = CreateObject("Shell.Application")
With FSO
.ShellExecute SelectedFile
End With
Set FSO = Nothing ' オブジェクトの開放
Else
Debug.Print "選択しなかった。"
End If
End With
End Sub