← コード一覧へ戻る
実務フォルダー

特殊フォルダを取得する

現在のWindowsユーザーのデスクトップフォルダーの実際のパスを取得します。

実行前に確認

  • Windows専用です。WScript.ShellをCreateObjectするため参照設定は不要ですが、組織の制限で使用できない場合があります。
  • デスクトップはOneDriveなどへ移されていることがあります。ユーザー名からパスを組み立てず、この取得結果を使います。

1サンプルコード

Sub 特殊フォルダを取得する()
    Dim shellObject As Object

    Set shellObject = CreateObject("WScript.Shell")
    MsgBox shellObject.SpecialFolders("Desktop")
End Sub

図で見る操作の流れ

イメージ図

概念図:実際に設定されているデスクトップの場所を取得します。

  1. マクロ:問い合わせ

    WScript.Shellを作成

  2. マクロ:取得

    SpecialFolders("Desktop")を読む

  3. 結果

    現在のWindowsユーザーのデスクトップの実パスを表示

OneDrive等へ移されていても設定上の場所を取得します。フォルダーを作成・移動しません。組織の制限で利用できない場合があります。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。

  2. 2

    コード内のDesktopはデスクトップを表します。そのまま使う場合、書き換え箇所はありません。

  3. 3

    実行するSubの内側にカーソルを置き、F5キーを押します。

  4. 4

    現在のWindowsユーザーのデスクトップフォルダーのパスが表示されます。エクスプローラーの保存場所と比較します。

使っている機能の公式ドキュメント(Microsoft Learn)