ログの出力先のフォルダの指定など、フォルダを指定する時
lngHWND : 0でOKのようです...他の定数を指定しても動作しなかった
strTitle : 説明文
lngOptions : &h10を選択したフォルダ名を表示できます
vRootFolder : [ 省略可能 ] ダイアログのタイプを指定
| 値 | 説明 |
|---|---|
| Const ssfDESKTOP = 0 | デスクトップ(仮想) |
| 1 | Internet Explorer |
| Const ssfPROGRAMS = 2 | プログラム |
| Const ssfCONTROLS = 3 | コントロールパネル |
| Const ssfPRINTERS = 4 | プリンタ |
| Const ssfPERSONAL = 5 | マイドキュメント |
| Const ssfFAVORITES = 6 | お気に入り |
| Const ssfSTARTUP = 7 | スタートアップ |
| Const ssfRECENT = 8 | 最近使ったファイル |
| Const ssfSENDTO = 9 | 送る |
| Const ssfBITBUCKET = 10 | ごみ箱 |
| Const ssfSTARTMENU = 11 | スタートメニュー |
| Const ssfDESKTOPDIRECTORY = 16 | デスクトップ(フォルダ) |
| Const ssfDRIVES = 17 | マイコンピュータ |
| Const ssfNETWORK = 18 | ネットワークコンピュータ |
| Const ssfNETHOOD = 19 | NetHood |
| Const ssfFONTS = 20 | フォント |
| Const ssfTEMPLATES = 21 | テンプレート |
| 値 | 説明 |
|---|---|
| Const BIF_RETURNONLYFSDIRS = &H1 | ファイルシステムのフォルダ(仮想フォルダ以外)のみが選択できる。 |
| Const BIF_DONTGOBELOWDOMAIN = &H2 | ドメイン下のネットワークフォルダを含めない。 |
| Const BIF_STATUSTEXT = &H4 | ステータスバーを表示。WSHからは意味なし(サイズがちょっと変わる?)。 |
| Const BIF_RETURNFSANCESTORS = &H8 | 選択不可になる? |
| Const BIF_EDITBOX = &H10 | フォルダ名を指定する、テキストボックスも表示。 |
| Const BIF_VALIDATE = &H20 | ? |
| Const BIF_BROWSEFORCOMPUTER = &H1000 | コンピュータの検索。ssfNETWORKと併用。 |
| Const BIF_BROWSEFORPRINTER = &H2000 | プリンタの検索。ssfPRINTERS と併用。 |
| Const BIF_BROWSEINCLUDEFILES = &H4000 | ファイルも選択できるようになる。 |
Option Explicit
Dim objShell
Dim objShellFolder
Dim strPath
Set objShell = WScript.CreateObject("Shell.Application")
Set objShellFolder = objShell.BrowseForFolder( 0 , "フォルダを選択して下さい" , &h10 )
If (objShellFolder Is Nothing) Then
WScript.Quit
End If
strPath = objShellFolder.Items.Item.Path
WScript.Echo strPath
VBscriptでも強い味方です。正規表現。