目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
194 / 277 ←次へ | 前へ→

【93】Re:フォルダ選択<FileDialog使用>
Excel  ちゃっぴ  - 05/3/18(金) 23:48 -

引用なし
パスワード
   Windows XP(2000) 以降だったかな?
Shell32 に Folder3 という Object ができて、
表示される Shortcut の実体も透過的に扱える Self という
Property が出来ました。

'[BROWSEINFO]構造体使用オプションフラグ列挙型定数(ulFlags)
Enum BrowseInfoFlags
  BIF_RETURNONLYFSDIRS = &H1
  BIF_DONTGOBELOWDOMAIN = &H2
  BIF_STATUSTEXT = &H4
  BIF_RETURNFSANCESTORS = &H8
  BIF_EDITBOX = &H10
  BIF_VALIDATE = &H20
  BIF_NEWDIALOGSTYLE = &H40
  BIF_USENEWUI = (BIF_NEWDIALOGSTYLE Or BIF_EDITBOX)
  BIF_BROWSEINCLUDEURLS = &H80
  BIF_UAHINT = &H100
  BIF_NONEWFOLDERBUTTON = &H200
  BIF_NOTRANSLATETARGETS = &H400
  BIF_BROWSEFORCOMPUTER = &H1000
  BIF_BROWSEFORPRINTER = &H2000
  BIF_BROWSEINCLUDEFILES = &H4000
  BIF_SHAREABLE = &H8000
End Enum

Function strBrowseForFolderPath( _
  ByRef strTitle As String, _
  Optional ByVal lngHwnd As Long = 0, _
  Optional ByVal lngOptions As BrowseInfoFlags = 0, _
  Optional ByRef strRoot As String = "") As String
  
  Dim objShell As New Shell32.Shell
  Dim objFolder As Shell32.Folder3
  
  Set objFolder = objShell.BrowseForFolder( _
    lngHwnd, strTitle, lngOptions, strRoot)
  If Not objFolder Is Nothing Then
    If objFolder.Self.IsFileSystem = True Then
      strBrowseForFolderPath = objFolder.Self.Path
      Set objFolder = Nothing
    End If
  End If
  Set objShell = Nothing
End Function

7,507 hits

【62】フォルダの選択 Jaka 04/8/11(水) 9:06 Excel[未読]
【68】フォルダ選択<API使用> BOTTA 04/8/23(月) 19:31 Excel[未読]
【69】フォルダ選択<Shell使用> BOTTA 04/8/23(月) 19:32 Excel[未読]
【70】フォルダ選択<FileDialog使用> BOTTA 04/8/23(月) 19:32 Excel[未読]
【93】Re:フォルダ選択<FileDialog使用> ちゃっぴ 05/3/18(金) 23:48 Excel[未読]
【71】Re:フォルダの選択 Jaka 04/8/30(月) 16:33 Excel[未読]
【94】Re:フォルダの選択 ちゃっぴ 05/3/19(土) 0:04 Excel[未読]
【95】Re:フォルダの選択 ちゃっぴ 05/3/19(土) 0:06 Excel[未読]

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
194 / 277 ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free