【Excel VBA】カレントドライブ・ディレクトリの取得と変更

りゅう

こんにちは!りゅう(@ryupong_b)です。
今回は、カレントドライブ・ディレクトリの取得と変更する方法を解説します。

はじめに

今回は、カレントドライブとカレントディレクトリを取得、変更する方法をご紹介します。
ファイルを読み込む前や、ブックを保存する前などに使用する場面があるかと思います。
本記事では、サンプルコードを用いてコピペで使える実践的なコードもご紹介します。

この記事を読むメリット
  • カレントドライブの変更方法が分かります。
  • カレントディレクトリの取得・変更方法が分かります。
  • 基本的な構文や引数から、丁寧に解説します。
  • エラーを回避する方法についても、具体的に解説します。
  • サンプルコードを用いて、コピペで使える実践的なコードをご紹介します。
めい

サンプルコードのみ見たい方は、目次からサンプルコードにジャンプしてください!

前提

カレントドライブとは

カレントドライブとは、現在作業対象になっているドライブのことです。

りゅう

環境設定次第ですが、基本的には規定のドライブは「Cドライブ」となっている場合が多いです。

カレントディレクトリとは

カレントディレクトリとは、現在作業対象になっているディレクトリ(フォルダ)のことです。
「ファイルを開く」ダイアログや、「名前を付けて保存」ダイアログを開いた際に、デフォルトで表示されます。

Windows10及び11のデフォルトは、「ドキュメント」が指定されています。

名前を付けて保存ダイアログ

関連するステートメント/関数

#ステートメント/関数説明
1ChDriveカレントドライブを変更する
2CurDirカレントディレクトリを取得する
3ChDirカレントディレクトリを変更する
カレントドライブ/ディレクトリに関するステートメント及び関数

基本情報

ChDriveステートメント

カレントドライブを変更する場合、ChDriveステートメントを使用します。

構文

構文

ChDrive Drive

引数

#項目名必須/任意説明
1Drive必須変更後のドライブ名を指定します。
ChDriveステートメント – 引数

存在しないドライブを指定するとエラーとなります。
また、DVDドライブやメモリーカードを指定する場合、ドライブにメディアがセットされていないとエラーとなります。
実行前に、ドライブの存在や、メディアのセットを確認してください。

めい

現在のカレントドライブを確認したい場合は、後述の「CurDir関数」にて確認できます。

CurDir関数

カレントディレクトリを取得するには、CurDir関数を使用します。
引数にドライブを指定することで、カレントドライブ以外のカレントディレクトリを確認することができます。

構文

構文

CurDir(Drive)

引数

#項目名必須/任意説明
1Drive任意調べたい対象のドライブ名を指定します。
省略すると、カレントドライブが対象となります。
CurDir関数 – 引数

存在しないドライブを指定するとエラーとなります。
実行前に、ドライブが存在することを確認してください。

ChDirステートメント

カレントディレクトリを変更する場合、ChDirステートメントを使用します。

構文

構文

ChDir Path

引数

#項目名必須/任意説明
1Path必須変更後のカレントディレクトリ名を指定します。
ChDirステートメント – 引数

Path引数について
ドライブ名やパスを含めて指定できます。
フォルダ名のみ指定した場合、カレントディレクトリ内のフォルダが設定されます。
ドライブ名を省略すると、カレントドライブが対象となります。

サンプルコード

カレントドライブを変更する

サンプルコード
Public Sub chCurDrive()

    ' カレントドライブを「Dドライブ」に変更する
    ChDrive "D"

    ' カレントディレクトリを表示
    MsgBox CurDir
End Sub

実行結果

ChDrive – 実行結果

カレントディレクトリを変更する

サンプルコード
Public Sub chCurDir()

    ' 変更前のカレントディレクトリを表示
    MsgBox "変更前:" & CurDir

    ' カレントディレクトリを変更する
    ChDir "C:\Users\xxxxx\Desktop\vba-hack"

    ' 変更後のカレントディレクトリを表示
    MsgBox "変更後:" & CurDir
End Sub
めい

7行目の変更後ディレクトリについては、各自の環境に置き換えてください。

実行前

実行前 – Documentsフォルダ

実行後

実行後 – デスクトップ配下フォルダ

最後に

今回は、カレントドライブと、カレントディレクトリを取得・変更する方法をご紹介させて頂きました。
この記事が、皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA