VBA関数
CurDir関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2025-06-15

CurDir関数


CurDir関数は、現在アクティブになっているドライブ、または指定したドライブのカレントディレクトリ(現在のフォルダ)のパスを取得するために使用されます。
ファイル操作を行う際などに、現在の作業ディレクトリを確認するのに役立ちます。



CurDir関数の構文

CurDir[(drivename)]

drivename
省略可能。
データ型: String
取得したいカレントディレクトリのドライブ文字を文字列で指定します。
例えば、"C:" や "D:" のように指定します。
この引数を省略した場合、現在アクティブなドライブのカレントディレクトリが返されます。

解説・制限事項等
  • CurDir 関数は、指定されたドライブ、または省略された場合は現在のドライブの、カレントディレクトリのフルパスを文字列として返します。
  • 返されるパスの末尾には、通常、円マーク(\)は含まれません。
    ただし、ルートディレクトリ(例: "C:\")の場合は、円マークが含まれます。
  • 指定したドライブが存在しない場合や、無効なドライブ文字を指定した場合は、ランタイムエラーが発生する可能性があります。

CurDir関数の使用例

以下のコード例では、CurDir 関数を使用して現在のカレントディレクトリのパスを取得し、メッセージボックスに表示します。

Sub CurDir_Sample()

  ' 現在アクティブなドライブのカレントディレクトリを取得して表示
  MsgBox "現在のカレントディレクトリ: " & CurDir(), vbInformation, "CurDir 関数 例"

  ' Cドライブのカレントディレクトリを取得して表示 (例として)
  ' 環境によってはDドライブがない場合もあるため、Cドライブの例も提示します。
  MsgBox "Cドライブのカレントディレクトリ: " & CurDir("C:"), vbInformation, "CurDir 関数 例 (Cドライブ)"

End Sub

このコードでは、CurDir() と引数なしで記述することで、現在アクティブなドライブのカレントディレクトリのパスを取得し、メッセージボックスに表示しています。
2つ目の例では、CurDir("C:") のようにドライブ文字を引数に指定することで、特定のドライブ(この場合はCドライブ)のカレントディレクトリを取得できることを示しています。


※本記事の作成にあたっては、生成AI(Gemini)を活用し一部の文章作成を行っています。最終的な内容は人間による確認・編集を経て掲載しています。


Office VBA リファレンス CurDir関数

※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

Filter関数
Join関数
Split関数
CurDir関数
Dir関数
EOF関数
FileAttr関数
FileDateTime関数
FileLen関数
FreeFile関数
GetAttr関数


新着記事NEW ・・・新着記事一覧を見る

シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)
2段階の入力規則リスト作成:最新関数対応|エクセル関数応用(2025-12-24)
IFS関数をVBAで入力するとスピルに関係なく「@」が付く現象について|VBA技術解説(2025-12-23)
数値を記号の積み上げでグラフ化する(■は10、□は1)|エクセル練習問題(2025-12-09)
AI時代におけるVBAシステム開発に関する提言|生成AI活用研究(2025-12-08)
GrokでVBAを作成:条件付書式を退避回復するVBA|エクセル雑感(2025-12-06)
顧客ごとの時系列データから直前の履歴を取得する|エクセル雑感(2025-11-28)
ちょっと悩むVBA厳選問題|エクセル雑感(2025-11-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.条件分岐(Select Case)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ