この記事ではExcelのVBAマクロを使用してファイル選択ダイヤログの初期フォルダをデスクトップ、指定フォルダ、ネットワーク上のフォルダなどに設定する方法について解説していきます。
ポイントとしては`GetOpenFilename`、`ChDrive`、`ChDir`を使用することです。
マクロ初心者でもわかりやすいように、変数名をaaaaa変数aaaaaといった名称にしています。そのため、ご活用の際には、適切な英語表記に変更してご活用ください。
それでは詳しく見ていきましょう!
VBAマクロのファイル選択ダイヤログの初期フォルダをデスクトップにする方法
それではまず、デスクトップについて解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub OpenFileFromDesktop()
Dim aaaaaFileDialogaaaaa As FileDialog
Set aaaaaFileDialogaaaaa = Application.FileDialog(msoFileDialogOpen)
With aaaaaFileDialogaaaaa
' 初期フォルダをデスクトップに設定
.InitialFileName = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
.Show
End With
End Sub
コードのAlt+F8を押し、マクロ選択画面でOpenFileFromDesktop関数を実行します。
このコードでは、`FileDialog`オブジェクトを使用してファイル選択ダイヤログを開きます。
`InitialFileName`プロパティにデスクトップのパスを設定することで、初期フォルダをデスクトップにしています。
このパスは`CreateObject`メソッドと`WScript.Shell`オブジェクトの`SpecialFolders`コレクションを使用して取得しています。
VBAマクロのファイル選択ダイヤログの初期フォルダをC直下のrenshuフォルダに指定する方法
続いては、C直下のrenshuフォルダについて解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub OpenFileFromC_Renshu()
' Cドライブに移動
ChDrive "C"
' Cドライブのrenshuフォルダを初期フォルダに指定
ChDir "C:\renshu"
Dim aaaaaFileDialogaaaaa As FileDialog
Set aaaaaFileDialogaaaaa = Application.FileDialog(msoFileDialogOpen)
aaaaaFileDialogaaaaa.Show
End Sub
コードのAlt+F8を押し、マクロ選択画面でOpenFileFromC_Renshu関数を実行します。
このステップでは、`ChDrive`メソッドでドライブをCに変更し、`ChDir`メソッドで初期フォルダをCドライブ直下の`renshu`フォルダに指定しています。
その後、`FileDialog`を使用してファイル選択ダイヤログを表示します。
VBAマクロのファイル選択ダイヤログの初期フォルダをネットワークのフォルダに指定する方法</続いては、ネットワークのフォルダについて解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub OpenFileFromNetworkFolder()
' ネットワークドライブのパスを指定
Dim aaaaaNetworkFolderPathaaaaa As String
aaaaaNetworkFolderPathaaaaa = "\\NetworkPath\SharedFolder\"
' 初期フォルダをネットワークドライブに設定
Dim aaaaaFileDialogaaaaa As FileDialog
Set aaaaaFileDialogaaaaa = Application.FileDialog(msoFileDialogOpen)
With aaaaaFileDialogaaaaa
.InitialFileName = aaaaaNetworkFolderPathaaaaa
.Show
End With
End Sub
コードのAlt+F8を押し、マクロ選択画面でOpenFileFromNetworkFolder関数を実行します。
このコードでは、`InitialFileName`プロパティにネットワークドライブのパスを設定しています。
このようにすることで、ファイル選択ダイヤログの初期フォルダをネットワーク上の特定のフォルダに設定することが可能です。
ネットワークパスは環境に合わせて適宜変更してくださいませ。
まとめ