フォルダー選択ダイアログ : Excel(エクセル)

フォルダ選択ダイアログは本当によく使用し、ファイル選択ダイアログと同様にどの言語にも登場するTipsです。 ここでは2種類を紹介します。 標準モジュールコード(初期フォルダを指定する方法)では、ダイアログで「OK」ボタンがクリックされフォルダが選択された場合、If Right$(s1, 1) <> "\" Then s1 = s1 + "\" で最後の「¥」をチェックし、なければ強制的に「¥」を付けるようにしています。 このプロシージャはパターンなので特に気にせず、毎回使い回しすればいいかと思います。

Excel Tipsメニューに戻る

スポンサードリンク



■方法1 FileDialog

コマンドボタン クリックイベントでフォルダ選択ダイアログを開く

Private Sub CommandButton1_Click()
    CommandButton1.Caption = SelectFolder_FileDialog
End Sub

フォルダ選択ダイアログExcel標準モジュールコード

Public Function SelectFolder_FileDialog()
    If Application.FileDialog(msoFileDialogFolderPicker).Show Then
        SelectFolder_FileDialog = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
    Else
        SelectFolder_FileDialog = ""
    End If
End Function

フォルダ選択ダイアログExcel標準モジュールコード(初期フォルダを指定する方法)

Public Function SelectFolder_FileDialog(iniDir As String) As String
    Dim s1 As String
    
    'フォルダ選択ダイアログ
    With Application.FileDialog(msoFileDialogFolderPicker)
        'タイトル
        .Title = "フォルダを選択してください"
        '初期フォルダ
        .InitialFileName = iniDir
        If .Show = -1 Then
            '選択された
            s1 = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
            If Right$(s1, 1) <> "\" Then s1 = s1 + "\"
            SelectFolder_FileDialog = s1
        Else
            SelectFolder_FileDialog = ""
        End If
    End With
End Function

フォルダ選択ダイアログの画面

フォルダダイアログ

スポンサードリンク



■方法2 Shell

コマンドボタン クリックイベントでフォルダ選択ダイアログを開く

Private Sub CommandButton1_Click()
    CommandButton1.Caption = SelectFolder_Shell
End Sub

フォルダ選択ダイアログExcel標準モジュールコード

Public Function SelectFolder_Shell()
    Dim Shell, myPath
    
    Set Shell = CreateObject("Shell.Application")
    Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\")
    If Not myPath Is Nothing Then
        SelectFolder_Shell = myPath.Items.Item.Path
    Else
        SelectFolder_Shell = ""
    End If
End Function

フォルダ選択ダイアログの画面

ツリー表示のフォルダダイアログ

Excel Tipsメニューに戻る

スポンサードリンク





■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


関連コンテンツ

Copyright (c) Excel-Excel ! All rights reserved