掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コモンダイアログの初期値 (ID:82029)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士様ご教授ありがとうございます。 ダイアログボックスの種類を変更して、フォルダ選択のダイアログボックスを 表示してみたのですが、やはり、ファイルも選択されてしまいます。 BASファイル Option Explicit ' パスの最大長を示す定数の宣言 Public Const MAX_PATH = 260 Type BROWSEINFO hwndOwner As Long pidlRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type Public Const BIF_RETURNONLYFSDIRS = &H1 Public Const BIF_DONTGOBELOWDOMAIN = &H2 Public Const BIF_STATUSTEXT = &H4 Public Const BIF_EDITBOX = &H10 Public Const BIF_VALIDATE = &H20 Public Const BIF_BROWSEINCLUDEFILES = &H4000 Declare Function SHBrowseForFolder Lib "shell32.dll" (lpbi As Any) As Long Declare Function SHGetPathFromIDList Lib "shell32.dll" (lpbi As Any, ByVal pszPath As String) As Long Declare Function CoTaskMemFree Lib "ole32.dll" (pv As Any) As Long FORMボタン押したとき Option Explicit Private Sub Command1_Click() Dim udtBrowseInfo As BROWSEINFO Dim lngPidl As Long Dim strPath As String * MAX_PATH Dim lngWin32apiResultCode As Long With udtBrowseInfo .hwndOwner = Me.hWnd .ulFlags = BIF_RETURNONLYFSDIRS Or BIF_DONTGOBELOWDOMAIN Or BIF_STATUSTEXT Or BIF_EDITBOX Or BIF_BROWSEINCLUDEFILES Or BIF_VALIDATE End With lngPidl = SHBrowseForFolder(udtBrowseInfo) If lngPidl Then lngWin32apiResultCode = SHGetPathFromIDList(ByVal lngPidl, strPath) Label2.Caption = Left(strPath, InStr(strPath, vbNullChar) - 1) CoTaskMemFree ByVal lngPidl Else Label2.Caption = "キャンセルされました。" End If End Sub Private Sub Form_Load() ' ラベルを右揃えに設定 Label1.Alignment = vbRightJustify ' ラベルを初期化 Label1.Caption = "選択結果" Label2.Caption = "" ' コマンドボタンを初期化 Command1.Caption = "実行" End Sub これではやはりまちがいでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.