アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

Folderを選択する

Folderを選択する


  Folder を選択する方法の説明です。

  Excel の表の操作とはまったく関係ありませんが、Folder の中にあるすべてファイルに
  何らかの処理をするアプリケーションを作成する場合などに使えます。


  Folder を選択するダイアローグ を 2つ紹介します。

  次は Shell を使う方法です。

Sub test1()

    MsgBox FolderPath

End Sub

Function FolderPath() As String
    
    Dim Shell As Object
    
    Set Shell = CreateObject("Shell.Application") _
        .BrowseForFolder(0, "フォルダを選択してください", 0, "c:\")
    
    If Shell Is Nothing Then
        FolderPath = ""
    Else
        FolderPath = Shell.Items.Item.Path
    End If

End Function

Shellを使ったFolderの選択画面




  次は FileDialogオブジェクト を使う方法です。こちらの方が VBA らしいのですが、
  Excel2002 以降でないと動作しません。

Sub test2()

    MsgBox FolderPath2

End Sub

Function FolderPath2() As String
    '2002以降で動作します

    With Application.FileDialog(msoFileDialogFolderPicker)
            
        If .Show = -1 Then  'アクションボタンがクリックされた
            FolderPath2 = .SelectedItems(1)
        Else                'キャンセルボタンがクリックされた
            FolderPath2 = ""
        End If
    End With

End Function

  msoFileDialogFolderPicker を msoFileDialogFilePicker に替えると
  ファイルを選択するダイアローグになります。

  example11 をダウンロードして動作を確認してください。

FileDialogオブジェクトを使用したFolderの選択画面


Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.