事務職のためのExcelVBA入門講座 > ExcelVBAサンプルマクロ > デスクトップなどの特殊フォルダ名を取得する

ExcelVBAサンプルマクロ

デスクトップなどの特殊フォルダ名を取得する

デスクトップのパス名を取得したい場合、ユーザー名が入るため、
普通のやり方では取得できません。

特殊なパスを取得するには、VBAだけではできないので
WSH(Windows Script Host)というのを使います。

WSHとは、ものすごく大雑把に言ってしまうとテキストファイルに
VBAっぽいコードを書いて簡単なプログラムを実行しちゃおう、
というWindowsについている機能。

Windowsを操作するためのオブジェクトもセットになっているので、
WSHのオブジェクトを通すことで特殊フォルダのパスが取得できます。

コードはいたってシンプル。

サンプルコード



Sub 特殊フォルダ名を取得()

Dim strFileName As String

strFileName = CreateObject("WScript.Shell").SpecialFolders.Item("Desktop") & "¥"
MsgBox strFileName

End Sub

特殊フォルダのパスはWSHのWscript.ShellオブジェクトにあるSpecialFoldersプロパティに格納されています。
インデックス番号でも指定できます。



インデックスパス
1C:¥Documents and Settings¥All Users¥デスクトップ
2C:¥Documents and Settings¥All Users¥スタート メニュー
3C:¥Documents and Settings¥All Users¥スタート メニュー¥プログラム
4C:¥Documents and Settings¥All Users¥スタート メニュー¥プログラム¥スタートアップ
5C:¥Documents and Settings¥<ユーザー名>¥デスクトップ
6C:¥Documents and Settings¥<ユーザー名>¥Application Data
7C:¥Documents and Settings¥<ユーザー名>¥PrintHood
8C:¥Documents and Settings¥<ユーザー名>¥Templates
9C:¥WINDOWS¥Fonts
10C:¥Documents and Settings¥<ユーザー名>¥NetHood
11C:¥Documents and Settings¥<ユーザー名>¥デスクトップ
12C:¥Documents and Settings¥<ユーザー名>¥スタート メニュー
13C:¥Documents and Settings¥<ユーザー名>¥SendTo
14C:¥Documents and Settings¥<ユーザー名>¥Recent
15C:¥Documents and Settings¥<ユーザー名>¥スタート メニュー¥プログラム¥スタートアップ
16C:¥Documents and Settings¥<ユーザー名>¥Favorites
17C:¥Documents and Settings¥<ユーザー名>¥My Documents
18C:¥Documents and Settings¥<ユーザー名>¥スタート メニュー¥プログラム



<<フォルダを選択させるダイアログを表示させる | 事務職のためのExcelVBA入門講座トップへ | USBのパスを取得する>>

この記事へのコメント

コメントを書く

お名前
メールアドレス
URL
コメント
[必須入力]
認証コード
[必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック


Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。