#222 Officeオブジェクトを使った"フォルダ選択"ダイアログ VBA

Accessから「Microsoft Office10.0 Object Library」を呼び出して、"フォルダ選択"ダイアログを表示、選択されたフォルダを得るための方法です。

※下記方法を使うためには、VBEの[ツール]-[参照設定]メニューを実行し、「参照可能なライブラリファイル」一覧の"Microsoft Office10.0 Object Library"の項目にチェックを付けておく必要があります。


まず、ダイアログを表示し、そこで選択されたドライブ+フォルダ名を返すサンプルプロシージャを示します。これを標準モジュールなどに記述してください。
Public Function GetFolderName() As String
'フォルダ選択ダイアログの例

  Dim intRet As Integer

  With Application.FileDialog(msoFileDialogFolderPicker)
    'ダイアログのタイトルを設定
    .Title = "フォルダ選択ダイアログの例"
    'ダイアログを表示
    intRet = .Show
    If intRet <> 0 Then
      'フォルダが選択されたとき
      'そのドライブ名+フォルダ名を返り値に設定
      GetFolderName = Trim(.SelectedItems.Item(1))
    Else
      'フォルダが選択されなければ長さゼロの文字列を返す
      GetFolderName = ""
    End If
  End With

End Function

使用例:
Dim strFolderName As String

'フォルダ選択ダイアログを表示
strFolderName = GetFolderName()

'選択結果を評価
If Len(strFolderName) > 0 Then
  MsgBox strFolderName & "が選択されました!"
Else
  MsgBox "フォルダは選択されませんでした!"
End If


ダイアログの表示例


選択結果を表示したところ

| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved