MENU

vba-file-current-directory

current directory

📌 VBA でカレントディレクトリにファイルを書き込む方法

VBA で カレントディレクトリファイルを作成・書き込む 方法を紹介します。


目次

✅ カレントディレクトリの取得

VBA では CurDir 関数を使うと、現在の作業ディレクトリ(カレントディレクトリ) を取得できます。

Dim currentDir As String
currentDir = CurDir ' カレントディレクトリを取得
MsgBox "現在のディレクトリ: " & currentDir

📌 方法 1: Print ステートメントで書き込む

💡 簡単なテキストデータを書き込む場合

Sub WriteToFile()
    Dim filePath As String
    Dim fileNumber As Integer
    
    ' カレントディレクトリにファイルを作成
    filePath = CurDir & "\output.txt"
    
    ' 使用可能なファイル番号を取得
    fileNumber = FreeFile

    ' ファイルを開く (出力モード)
    Open filePath For Output As #fileNumber
    
    ' ファイルに書き込む
    Print #fileNumber, "これはテスト用のデータです。"
    Print #fileNumber, "VBA でファイルを書き込みました。"
    
    ' ファイルを閉じる
    Close #fileNumber

    ' 完了メッセージ
    MsgBox "ファイルを書き込みました: " & filePath
End Sub

✅ ポイント

  • CurDir を使って カレントディレクトリにファイルを作成
  • FreeFile使用可能なファイル番号を取得
  • Print ステートメントで 改行付きのデータを書き込み
  • Close ステートメントでファイルを閉じる(忘れるとエラーになる)

📌 方法 2: Write ステートメントで書き込む

Write ステートメント を使うと、データが 自動的に「””(ダブルクォーテーション)」で囲まれ、カンマで区切られます。

Sub WriteToFileWithWrite()
    Dim filePath As String
    Dim fileNumber As Integer
    
    filePath = CurDir & "\output_write.txt"
    fileNumber = FreeFile
    
    Open filePath For Output As #fileNumber
    
    ' Write ステートメントを使う(自動で""で囲まれる)
    Write #fileNumber, "VBAファイル出力", 123, True
    
    Close #fileNumber

    MsgBox "Write ステートメントでファイルを作成しました。"
End Sub

PrintWrite の違い

ステートメント出力内容
PrintVBAファイル出力 123 True
Write“VBAファイル出力”,123,True

💡 Write はデータをカンマで区切るため、CSV の出力に適している


📌 方法 3: 既存のファイルに追記

ファイルを開くときに Append を指定すると、既存のファイルに追記 できます。

Sub AppendToFile()
    Dim filePath As String
    Dim fileNumber As Integer

    filePath = CurDir & "\output.txt"
    fileNumber = FreeFile

    ' 既存のファイルに追記 (Append モード)
    Open filePath For Append As #fileNumber
    
    ' 追記内容
    Print #fileNumber, "追加のデータを書き込みました。"
    
    Close #fileNumber

    MsgBox "ファイルにデータを追記しました。"
End Sub

Append のポイント

  • 既存のファイルに新しいデータを追加
  • Print改行しながら追記

📌 まとめ

方法使い方
Printシンプルなテキストの書き込み
WriteCSV形式(カンマ区切り)で書き込み
Append既存のファイルにデータを追加

💡 応用例

  • CSV ファイルを出力
  • エラーログを書き込む
  • 設定ファイルを作成する

📢 「特定のデータを書き込みたい」「Excelのデータをファイルに保存したい」などの要望があれば教えてください! 🚀

よかったらシェアしてね!
目次