教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 関数】ChDirステートメントでカレントフォルダを変更する方法を教えて!

f:id:m_kbou:20220111082218p:plain

 

 

構文

記述方法は以下の通りとなります。

ChDir(”[パス]”)

[説明]:

指定したパスにカレントフォルダを変更します。
(※カレントフォルダとは現在使用しているフォルダの事を指します。)

[パス] 変更したいフォルダパスを記述します。
※「”」(ダブルクォーテーション)で囲みます。

[記述例]:

ChDir ("C:\テスト")

 

使い方

使い方について具体的に説明します。

[プログラミング例]:

Sub サンプル()

  MsgBox CurDir("C:")

  ChDir ("C:\テスト")

  MsgBox CurDir("C:")

End Sub

内容は、「最初にCドライブのカレントフォルダをMsgBoxで表示し、次にカレントフォルダをC:\テストに変更します。最後にもう一度CドライブのカレントフォルダをMsgBoxで表示して下さい。」との意味になります。(※カレントフォルダを調べるCurDirステートメントの使い方はこちらを参考にして下さい。)

f:id:m_kbou:20220111082235p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①<実行>ボタンをクリックします。

f:id:m_kbou:20220111082247p:plain

②Cドライブの現在のカレントフォルダが表示されます。(※現在のCドライブカレントフォルダがWindowsとなるため、「C:\Windows」がMsgBoxで表示されます。)

f:id:m_kbou:20220111082257p:plain

③再度Cドライブの現在のカレントフォルダが表示されます。(※現在のCドライブカレントフォルダがテストとなるため、「C:\テスト」がMsgBoxで表示されます。)

f:id:m_kbou:20220111082308p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

カレントフォルダを変更する方法についての説明は以上です。

 

おわりに

今回はカレントフォルダを変更する方法について説明しました。違うフォルダ間を跨ぐ処理がある場合は、是非ChDirステートメントを有効活用して下さい。