投稿日 | : 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」で代用してみてください。