INDEX
ChDriveの概要
作業ドライブを変更する VBAの予約語 | ||
ChDrive 概要 ChDrive ステートメントは、VBAで作業ドライブ(カレントドライブ)を変更するために使用されます。ファイルを開く・保存する際に特定のドライブを基準にする場合に便利です。 わかりやすく説明 ファイル操作の基準となるドライブを変更する命令。 |
||
|
ChDriveの基本的な使い方
以下の例では、作業ドライブを変更します。
Sub ChangeDrive()
ChDrive "D"
MsgBox "作業ドライブを D: に変更しました"
End Sub
解説:
ChDrive "D"
: 作業ドライブをDドライブに変更。- その後に開く・保存するファイルは、Dドライブを基準に処理される。
現在の作業ドライブを取得する
現在の作業ドライブを確認したい場合は、CurDir
関数を使用します。
Sub ShowCurrentDrive()
MsgBox "現在の作業ドライブ: " & Left(CurDir, 2)
End Sub
解説:
CurDir
関数を使うと、現在の作業ディレクトリを取得できる。Left(CurDir, 2)
を使用すると、ドライブ部分(例: “C:”) だけを取得できる。
Excel VBAでのChDriveの活用
Excel VBAでファイルを開く前に、作業ドライブを変更すると便利です。
Sub OpenFileInDrive()
ChDrive "E"
Workbooks.Open "E:\Data\report.xlsx"
End Sub
解説:
- 作業ドライブを
E:
に変更。 Workbooks.Open
を使用して、Eドライブ内のファイルを開く。
ChDriveとChDirを組み合わせる
ChDrive
はドライブのみを変更し、フォルダを変更するには ChDir
を併用します。
Sub ChangeDriveAndFolder()
ChDrive "D"
ChDir "D:\Projects"
MsgBox "D:\Projects に移動しました"
End Sub
解説:
ChDrive "D"
: 作業ドライブをDに変更。ChDir "D:\Projects"
: Dドライブ内の作業フォルダを変更。
ChDriveを使ったファイル保存の自動化
ChDrive を利用すると、Excelのファイル保存を指定ドライブに統一できます。
Sub SaveWorkbookInSpecificDrive()
ChDrive "E"
ActiveWorkbook.SaveAs Filename:="E:\Reports\Summary.xlsx"
MsgBox "ファイルをEドライブに保存しました"
End Sub
解説:
- 作業ドライブを変更し、指定のパスにファイルを保存。
- 毎回フルパスを指定しなくても、特定のドライブに統一して保存できる。
注意点
- 存在しないドライブを指定するとエラー: 指定するドライブが存在しないと実行時エラーになる。
- 作業ドライブの変更は一時的: Excelを閉じると元のドライブに戻る。
- フォルダの変更にはChDirを併用: ChDrive はフォルダの変更はできないため、ChDir を併用する必要がある。
よくある質問
- Q: ChDrive を使うと何が変わりますか?
- A: 作業ドライブを変更でき、ファイルの読み書きをそのドライブに統一できます。
- Q: ChDrive は Excel を閉じた後も影響しますか?
- A: いいえ、Excelを閉じると、作業ドライブは元に戻ります。
- Q: ChDrive を使わずに特定のドライブのファイルを開く方法は?
- A:
Workbooks.Open "E:\Data\file.xlsx"
のように、フルパスを指定すればChDriveを使わなくても開けます。
まとめ
- ChDrive は現在の作業ドライブを変更する。
- Excel VBAでファイルを開く・保存する際に、特定のドライブを基準にするのに便利。
- 現在の作業ドライブを取得するには
CurDir
を使う。 - フォルダを変更する場合は
ChDir
を併用する必要がある。