ファイル選択ダイアログボックスを開く方法です。
前回、『テキストファイルから読み込んだデータをセルに格納するマクロ』を改造して、ファイル選択ダイアログからファイルを選択してデータを読み込んでみます。
例

シートに[読込]ボタンを設置し、Clickイベントハンドラに次のように記述します。
Sub button1_Click()
Dim i As Integer
Dim bufStr As String
Dim filePath As String
Dim fd As FileDialog
'ファイル選択ダイアログボックス
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
'ファイルの複数選択を不可
.AllowMultiSelect = False
'タイトル
.Title = "テキストファイル"
'ファイルフィルタのクリア
.Filters.Clear
'ファイルフィルタの設定
.Filters.Add "テキストファイル ", "*.txt"
'初期表示のフォルダ
.InitialFileName = ""
If .Show = True Then
'ファイルパスの取得
filePath = .SelectedItems(1)
Else
'キャンセル
Exit Sub
End If
End With
'ファイルのオープン
Open filePath For Input As #1
i = 2
Do While Not EOF(1)
'ファイルから一行読込む
Line Input #1, bufStr
'読み込んだデータをセルに格納
Cells(i, 2).Value = bufStr
i = i + 1
Loop
'ファイルを閉じる
Close #1
End Sub
実行すると、このようなファイル選択ダイアログボックスが表示されます.

[OK]ボタンを押すと、ファイルパスを取得して読込処理を行います。[キャンセル]ボタンを押した場合は何もせずに処理を抜けるようにしています。
また、初期表示のフォルダを「InitialFileName = ""」としていますが、こうするとどうやらマイドキュメントが表示されるようです。これは規定でそうなっているのか分かりませんが、自分の環境ではマイドキュメントが開いてきました。
実行結果

comments powered by Disqus
スポンサーリンク