自分方位研究所

日々の活動記録

(Excel VBA) ダイアログボックスを表示してファイルフルパスを取得

「はてなブログ記事のエクスポートファイルをダウンロードしてファイル一覧を作成する」の続きです。

ダウンロードしたエクスポートファイル(テキストファイル)をExcel VBAで加工して、記事一覧を作ろうとしているわけですが、先ず、加工するテキストファイルを指定するためのコードを作成しました。

Excelを起動して、以下のコードを実行します。

Sub ダイアログボックスを表示してファイルフルパスを取得()

    Dim filePas As String
    
    filePas = Application.GetOpenFilename( _
        FileFilter:="Text File(*.txt),*.txt", _
        Title:="ファイルを選択")
        
    MsgBox filePas
    'ファイル選択でフルパスファイル名。キャンセルすると「False」
    'ファイルのフルパス取得のみで、オープンはしません。

End Sub

GetOpenFilenameメソッドを使用するのですが、はてなブログの記事のエクスポートファイルは、テキストファイルなので、出現させるダイアログボックスで指定可能なファイルの種類をテキストファイルに限定します。

Title:は、これを指定しないと、ダイアログボックスのタイトルとして「ファイルを開く」と表示されるのですが、実際はファイルは開かれず、フルパス名の取得のみなので違和感があり、「ファイルを選択」に変更しています。

このコードを実行すると、現在作業中のカレントフォルダのダイアログボックスが表示されます。

FileFilter: で指定したとおり、テキストファイルのみ表示されます。

f:id:k-emu:20220213235244j:plain

ファイルを指定して、「開く」ボタンをクリックすると、メッセージボックス上に選択したファイルのフルパスが表示されます。

f:id:k-emu:20220213235248j:plain

「開く」ボタンではなく、「キャンセル」をクリックすると「false」を返します。

f:id:k-emu:20220213235251j:plain

というわけで、ファイルを選ぶところまで、できました。

次は、選択したファイルをオープンさせます。

次回に続きます。