Excelスキルアップコレクション
           〜 Something U Want 〜


Google  

WWW を検索
Excelスキルアップコレクション内 を検索
 @     Top  >     Excel VBA スキルアップコレクション Topics  >     (10) フォルダ参照ダイアログを使用する

 
(10) フォルダ参照ダイアログを使用する

 "Shell.Application"で作成したオブジェクトのBrowseForFolder( ) メソッドを使えば、『フォルダ参照』ダイアログをVBAから利用することができます。『フォルダ参照』ダイアログとは以下のようなエクスプローラ風にフォルダを選択できる画面のことです。

 下記サンプルコードは、『フォルダ参照』ダイアログを使用したサンプルです。

 1行目:  Sub get_FolderDialog()
 2行目: 
 3行目:      ' 選択されたフォルダを取得する変数
 4行目:      Dim folderName As Variant
 5行目:  
 6行目:      ' 『フォルダ参照』ダイアログを起動する。
 7行目:      Set folderName = CreateObject("Shell.Application") _
 8行目:          .BrowseForFolder(&O0, "フォルダを選択", &H1 + &H10, "")
 9行目:  
10行目:      ' フォルダが選択されたか否か判別する。
11行目:      If Not folderName Is Nothing Then
12行目:          ' 選択されたフォルダ名をメッセージボックスで表示する。
13行目:          MsgBox folderName.Self.Path
14行目:      End If
15行目:  
16行目:      ' オブジェクトを破棄する。
17行目:      Set folderName = Nothing
18行目:  
19行目:  End Sub
『フォルダ参照』ダイアログの参照ルートを決めたい場合、BrowseForFolder( ) メソッドの第4引数にパスを記載します。

 1行目:  Sub get_FolderDialog()
 2行目: 
 3行目:      ' 選択されたフォルダを取得する変数
 4行目:      Dim folderName As Variant
 5行目:  
 6行目:      ' フォルダ参照ダイアログを起動する。
 7行目:      Set folderName = CreateObject("Shell.Application") _
 8行目:          .BrowseForFolder(&O0, "フォルダを選択", &H1 + &H10, "C:\Sample")
 9行目:  
10行目:      ' フォルダ選択されたか否か判別する。
11行目:      If Not folderName Is Nothing Then
12行目:          ' 選択されたフォルダ名をメッセージボックスで表示する。
13行目:          MsgBox folderName.Self.Path
14行目:      End If
15行目:  
16行目:      ' オブジェクトを破棄する。
17行目:      Set folderName = Nothing
18行目:  
19行目:  End Sub
このサンプルコードを実行すると、『ファイル選択』ダイアログが起動して、複数ファイルが選択できるようになります。
ページの先頭へ