Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認するExcelマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

このサイト・インストラクターのネタ帳に、
「filedialog(msofiledialogfilepicker) 戻り値」
といった検索キーワードでのアクセスがありました。

マクロの実行中に、フォルダーやファイルを選択してもらうFileDialogオブジェクトの、

FileDialogの戻り値を確認するExcelマクロ

戻り値について調べていた方による検索です。

FileDialogオブジェクトで主に利用する戻りは2つあることと、ファイルやフォルダーのパスの戻りがちょっとわかりくい作りになっていますから、
「filedialog(msofiledialogfilepicker) 戻り値」
と検索なさった方に気持ちは、とても共感できます。

[スポンサードリンク]

FileDialogの戻りを確認するサンプルマクロ

VBE(Visual Basic Editor)のデバッグ機能の一つ、ローカルウィンドウを使って、FileDialogオブジェクトの戻りを確認することをおすすめします。

Sub FileDialogの戻り値を確認する()

 Dim bln As Boolean
 Dim itms As FileDialogSelectedItems

 With Application.FileDialog(msoFileDialogFilePicker)
  .AllowMultiSelect = True
  bln = .Show
  Set itms = .SelectedItems
 End With

 Stop

End Sub

サンプルマクロで確認すべきこと

上記のマクロを実行すると、Stopステートメントでステップ実行モードになりますから、ローカルウィンドウを表示して、変数・blnとitmsに何が入っているか、確認してみてください。

例えば、「C:\temp」フォルダーの「samp_1.xlsx」「samp_2.xlsx」という2つのファイルを選択して

FileDialogの戻り値を確認するExcelマクロ

[OK]ボタンをクリックすると以下のような状態となります。

FileDialogの戻り値を確認するExcelマクロ

変数・blnには「True」が、

FileDialogの戻り値を確認するExcelマクロ

格納されています。

これがFileDialogオブジェクトのShowメソッドを使ったあとに登場する、キャンセル時に関係する戻り値です。

上記のマクロを再度実行して、[キャンセル]ボタンをクリックしたときに、変数・blnの値がどうなっているか、確認してみてください。

また、オブジェクト変数・itmsの
[Item 1]に「C:\temp\samp_1.xlsx」、
[Item 2]に「C:\temp\samp_2.xlsx」
というフルパスが表示されています。

FileDialogの戻り値を確認するExcelマクロ

これがFileDialogからの戻りとしてよく使われる、「.SelectedItems(1)」といったオブジェクト式で取得するフルパスです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認するExcelマクロ

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » FileDialogの戻り値を確認するExcelマクロ

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.