2017年6月2日

【Excel】ファイル選択ダイアログボックスを開く


ファイル選択ダイアログボックスを開く方法です。

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



シートに[読込]ボタンを設置し、Clickイベントハンドラに次のように記述します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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 = ""」としていますが、こうするとどうやらマイドキュメントが表示されるようです。これは規定でそうなっているのか分かりませんが、自分の環境ではマイドキュメントが開いてきました。


実行結果






スポンサーリンク



Follow Me on Pinterest
Clip to Evernote