投稿時間:2004/01/05(Mon) 23:26 投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:Re: フォルダの選択
> フォルダ選択ダイアログを表示し、 > ユーザーにより選択されたフォルダ位置を取得したいのですがどのような手法を使用すれば良いのでしょうか?
ShellオブジェクトのBrowseForFolderメソッドを使うか、もしくは、 SHBrowseForFolder APIを使うという手があります。 物理フォルダだけではなく、仮想フォルダ(≠ディレクトリ)も取得可能です。
BrowseForFolderメソッドを使うのであれば、たとえばこんな感じで。
Private Sub Command1_Click() Dim F As Object With CreateObject("Shell.Application") Set F = .BrowseForFolder(Me.hWnd, "タイトル", 0) If F Is Nothing Then MsgBox "キャンセル" Else MsgBox F.self.Path Set F = Nothing End If End With End Sub
なお、古い環境の場合、Folderオブジェクトのselfプロパティが使用できません。 その場合は、「F.self.Path」の替わりに「F.Items().Item.Path」で代用してみてください。
|