久しぶりのVBA記事です。
今回は、デスクトップやマイドキュメントのパスを自動で取得する方法を説明します。
事前設定
事前に参照設定が必要になります。
Windows Script Host Object Model にチェックを入れてください。
【手順】
[VBE] – [ツール(T)] タブ – [参照設定(R)] – [Windows Script Host Object Model]
コード
標準モジュールに以下のようなユーザ定義関数を作成してみましょう。
デスクトップパス
1 2 3 4 5 6 7 8 9 |
'デスクトップパスを取得するユーザ定義関数 Public Function DesktopPath() As String '要参照設定 [Windows Script Host Object Model] Dim ObjWSH As New WshShell DesktopPath = ObjWSH.SpecialFolders("Desktop") End Function |
マイドキュメント
1 2 3 4 5 6 7 8 9 |
'マイドキュメントパスを取得するユーザ定義関数 Public Function MyDocumentsPath() As String '要参照設定 [Windows Script Host Object Model] Dim ObjWSH As New WshShell MyDocumentsPath = ObjWSH.SpecialFolders("MyDocuments") End Function |
シートで確認してみよう
標準モジュールにユーザ定義関数(Function)を作成すると、Excelのセル上に関数として呼び出すことができます。
使用できるフォルダ一覧
デスクトップやマイドキュメント以外にも使用できるフォルダが15ぐらいあります。
SpecialFoldersの引数として使えるので、いろいろ試してみてください!(確認放棄)
・AllUsersDesktop
・AllUsersStartMenu
・AllUsersPrograms
・AllUsersStartup
・Desktop
・Favorites
・Fonts
・MyDocuments
・NetHood
・PrintHood
・Programs
・Recent
・SendTo
・StartMenu
・Startup
・Templates
今回はここまで。
---コメント---