Base自分用のナレッジベース。Server、オープンソース系のシステムやフリーソフトに関する情報、iPhone、Androidスマホ便利情報など役立つ情報などを覚書しておくためのブログ。»VBA共通:デスクトップフォルダやマイドキュメントフォルダなどWindowsの特殊フォルダのパスをVBAで取得するサンプルプログラムVBA共通:デスクトップフォルダやマイドキュメントフォルダなどWindowsの特殊フォルダのパスをVBAで取得するサンプルプログラム投稿日:2007-10-24カテゴリ:VBA共通マイドキュメントフォルダやデスクトップフォルダなどログインユーザーによってパスが変わるフォルダやWindowsがセットアップ時に作成するSystemフォルダなどの特殊なフォルダのパスをVBAで取得するサンプルプログラムを覚書。紹介するサンプルプログラムは、ExcelのVBAでもAccessのVBAでも使用できます。スポンサードリンクWindowsの特殊フォルダのパスについてWindowsの特殊フォルダのパスは、ログオンしているユーザーやWindowsをセットアップした際の指定によって異なります。Windowsをインストールするフォルダをデフォルトから変更していた場合、"System32"フォルダのパスは、"C:\Windows\System32"ではなくなってしまいます。マイドキュメントやデスクトップフォルダは、ログオンしているユーザーによってパス文字列が変わってしまいます。Settings\ログオンユーザー名\デスクトップ"になるため、ログオンしているユーザー名がわからないと正確にパスを指定することができません。その他テンポラリファイルを保存するフォルダなどは、Windowsの環境変数の指定によって決まったりもするので、固定した文字列を指定することはできません。上記の特殊フォルダのパス文字列をVBAで取得するサンプルプログラムを紹介します。Host"オブジェクトを使用します。WindowsフォルダやSystem32フォルダ、テンポラリフォルダ等については、"FileSystemObject"オブジェクトを使用します。Host"オブジェクトを使用してデスクトップフォルダやマイドキュメントなどの特殊フォルダのパスをVBAで取得するサンプルプログラムを以下に記載します。ExcelのVBAで作成する場合でもAccessのVBAの場合でも標準モジュールに記載してください。SubSpecialFoldersの()内に"取得したい特殊フォルダ名"を指定します。指定できる特殊フォルダ名と取得できるフォルダについてSpecialFoldersの()内に指定できる特殊フォルダ名と取得できるフォルダの一覧を以下に記載します。取得できるパスDesktopデスクトップフォルダFavoritesお気に入りフォルダFontsフォントフォルダMyDocumentsマイドキュメントフォルダProgramsプログラムフォルダRecent最近開いたファイルフォルダSendTo送るフォルダStartMenuスタートアップメニューフォルダStartUpスタートアップフォルダWindowsフォルダやSystem32フォルダ、テンポラリフォルダのパスを取得するサンプルプログラム以下に"FileSystemObject"を使用してWindowsフォルダやSystem32フォルダ、テンポラリフォルダのパスを取得するサンプルプログラムを以下に記載します。ExcelのVBAで作成する場合でもAccessのVBAの場合でも標準モジュールに記載してください。SubGetSpecialFolderの()内に取得したい特殊フォルダを表す数値を指定します。指定できる数値と取得できるフォルダについてGetSpecialFolderの()内に指定できる数値と指定した数値に対応する特殊フォルダの一覧を以下に記載します。端末にAPNが正しく設定されていません。(11/05)プロフィールこのブログの中の人:billyboyこのブログを見に来てくれてありがとうございます。このブログの中の人はExcel、AccessのVBAに関するカスタマーサポート、技術ドキュメントのの作成業務を経験後、開発系SEを経て現在は金融系企業のシステム運用/保守SEとして働いています。当初自分が困ったときに解決した方法や社内/外からの技術的な問い合わせに回答した時に作ったプログラムなどを自分用の備忘録としてこのブログを開設しました。たくさんの方に見に来ていただけてることに気づいてからはなるべく誰が見てもわかるような記事内容にすることを意識して書いています。