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疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


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

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




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


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



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