目次
使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- ソフト:Microsoft Excel VBA
経緯
VBAを使ってフォルダを作成するプログラムを書いていた際に、
作成されるフォルダが意図しない場所にできてしまうという問題が発生しました。
この原因が「カレントディレクトリ(現在の作業フォルダ)」にあると分かり、
今回はカレントディレクトリの変更方法について学びました。
解決方法:「ChDirステートメント」を使う
カレントディレクトリを変更するには、VBAの**ChDir
ステートメント**を使用します。
コード例
Sub カレントディレクトリの変更()
ChDir "変更したいパス"
End Sub
コード解説
ChDir
の後に、変更したいパス(例:”C:\Users\morinokabu\デスクトップ”)を指定します。- これにより、作業対象となるディレクトリを任意の場所に変更できます。
これを事前に設定しておくことで、後続のファイル作成やフォルダ作成処理が期待通りの場所で行えるようになります。
失敗談
私自身、Pythonでコマンドプロンプト上から
cd "変更したいパス"
と操作していた経験があったため、VBAでも似たようにコマンドプロンプト経由でカレントディレクトリを変更できないかと模索しました。
しかし、VBAにおいては直接VBAコード内でChDir
を使う方法が基本であり、コマンドプロンプトからの操作ではうまくいきませんでした。
環境や言語によってアプローチが異なることを改めて実感しました。
まとめ
VBAでカレントディレクトリを変更したい場合は、**ChDir "パス名"
**を使うのが正しい方法です。
事前に作業ディレクトリを設定することで、ファイルやフォルダの操作ミスを防ぎ、よりスムーズにプログラムを進めることができます。
引き続き、細かな動きにも気を配りながら、VBAのスキルを磨いていきたいと思います。
ここまでお読みいただき、誠にありがとうございました。