特殊フォルダを取得する
現在のWindowsユーザーのデスクトップフォルダーの実際のパスを取得します。
実行前に確認
- Windows専用です。WScript.ShellをCreateObjectするため参照設定は不要ですが、組織の制限で使用できない場合があります。
- デスクトップはOneDriveなどへ移されていることがあります。ユーザー名からパスを組み立てず、この取得結果を使います。
1サンプルコード
Sub 特殊フォルダを取得する()
Dim shellObject As Object
Set shellObject = CreateObject("WScript.Shell")
MsgBox shellObject.SpecialFolders("Desktop")
End Sub図で見る操作の流れ
イメージ図概念図:実際に設定されているデスクトップの場所を取得します。
マクロ:問い合わせ
WScript.Shellを作成
マクロ:取得
SpecialFolders("Desktop")を読む
結果
現在のWindowsユーザーのデスクトップの実パスを表示
OneDrive等へ移されていても設定上の場所を取得します。フォルダーを作成・移動しません。組織の制限で利用できない場合があります。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 2
コード内のDesktopはデスクトップを表します。そのまま使う場合、書き換え箇所はありません。
- 3
実行するSubの内側にカーソルを置き、F5キーを押します。
- 4
現在のWindowsユーザーのデスクトップフォルダーのパスが表示されます。エクスプローラーの保存場所と比較します。