特殊フォルダを取得する (Excel VBA を学ぶなら moug モーグ | 即効テクニック)
次のコードは、[ファイルを開く]ダイアログボックスで「マイドキュメント」フォルダを開きます。
Sub Sample4() Dim Path As String, WSH As Variant, OpenFileName As String Set WSH = CreateObject("Wscript.Shell") Path = WSH.SpecialFolders("MyDocuments") & "\" ChDir Path OpenFileName = Application.GetOpenFilename("Excelブック,*.xls") If OpenFileName <> "False" Then Workbooks.Open OpenFileName End If Set WSH = Nothing End SubWSHのSpecialFoldersプロパティでは、次のようなフォルダを取得できます。
フォルダ 引数 すべてのユーザーに共通のデスクトップ AllUsersDesktop すべてのユーザーに共通のプログラムメニュー AllUsersPrograms すべてのユーザーに共通のスタートアップ AllUsersStartup ログインユーザーのデスクトップ Desktop ログインユーザーのプログラムメニュー Programs ログインユーザーのスタートアップ Startup お気に入り Favorites フォント Fonts マイドキュメント MyDocuments 最近使ったファイル Recent 送る SendTo スタートメニュー StartMenu 新規作成のテンプレート Templates アプリ用のデータ AppData
WindowsXP ではマイドキュメントの下にマイピクチャがあったが、Windows7 では独立したフォルダになっている。
上表にマイピクチャが無いので、“MyPicture”, “Picture” で試してみたが得られなかった。
マイクロソフトの msdn|SpecialFolders プロパティ も探したが、見つけられなかった。個人用フォルダーが指定できるといいのだが...