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

ネットワークドライブに移動する

割り当て済みのネットワークドライブ上の作業フォルダーを変更します。フォルダー自体やファイルの中身は移動しません。

実行前に確認

  • Windows専用の例です。C:\Dataは例なので、自分で用意した練習用フォルダーの絶対パスに変更してください。
  • UNC形式の\\server\shareはこの例へそのまま指定しません。Excelの相対パスの基準が変わるので、他のマクロも含めファイル操作は絶対パスで書くと安全です。

1サンプルコード

Sub Example4029()
    On Error GoTo Failed
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim folderPath As String
    folderPath = "Z:\Data"
    If Not fso.FolderExists(folderPath) Then Err.Raise 76, , "フォルダーへアクセスできません"
    ChDrive Left$(folderPath, 1)
    ChDir folderPath
    MsgBox "現在の作業フォルダー: " & CurDir$
    Exit Sub
Failed:
    MsgBox "処理を中止しました: " & Err.Description
End Sub

図で見る操作の流れ

イメージ図

概念図:ファイルを移動せず、相対パスの基準を切り替えます。

  1. 手動:準備

    ネットワークドライブZ:を割り当て、Z:\Dataへアクセス確認

  2. マクロ:切り替え

    存在確認後、ChDriveでZ:、ChDirでZ:\Dataへ

  3. 結果

    現在の作業フォルダー: Z:\Data と表示

アクセスできなければ中止。共有の割り当て・ログインは行わず、ファイルやフォルダーの位置は変わりません。

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

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

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

  2. 2

    先にネットワーク共有をエクスプローラーでZ:などのドライブに割り当て、アクセスできることを確認します。このコード自体は共有の割り当てやログインを行いません。

  3. 3

    folderPathをドライブ文字から始まる存在するフォルダーへ変更します。

  4. 4

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

  5. 5

    ChDriveとChDirにより作業フォルダーが変わり、変更後のパスが表示されます。フォルダーやファイル自体は移動しません。

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