【VBA】テキストファイルを新規作成する【シンプル】

VBAで
 ・テキストファイルを新規作成
できます!

作成方法は複数ありますが、ここでは私が
 ・1番シンプルと考える方法
を記載します!

PR

VBAコード

ここでは例として、
 ・デスクトップ配下にファイル「aiueo.txt」を新規作成して
 ・文字列「hogehoge」と書き込み
をします。

Option Explicit

Sub sample()

    Dim filePath As String
    Dim fileNo As Integer
    
    '作成するファイルパスを指定
    filePath = "C:\Users\user\Desktop\aiueo.txt"

    '使用可能なファイル番号を取得
    fileNo = FreeFile
    
    'テキストファイルを開く(テキストファイルが存在しない場合は新規作成)
    Open filePath For Append As #fileNo
    
    '書き込み ※改行あり
    Print #fileNo, "hogehoge"

    'テキストファイルを閉じる
    Close #fileNo
    
End Sub

「新規作成するファイルのパス」を指定します(9行目)。

「FreeFile関数」により、「使用可能なファイル番号」を取得します(12行目)。

「Openステートメント」により、テキストファイルを新規作成します(15行目)。
※「For Output」により、既にファイルが存在する場合は上書きします。

「Printステートメント」により、書き込みをします(18行目)。
※上記では文字列「hogehoge」を書き込んでいます。
※改行書き込まれます。

「Closeステートメント」により、ファイルを閉じます(21行目)。

PR

実行結果

テキストファイルを新規作成できました。
※デスクトップ配下にファイル「aiueo.txt」を新規作成できました。

新規作成されたテキストファイル
新規作成されたテキストファイル
新規作成されたテキストファイルの内容
PR

参考①

「FileSystemObject」を使用して、テキストファイルを新規作成することもできます。

Option Explicit

Sub sample()
    
    Dim filePath As String
    Dim fso As Object
    Dim tso As Object
    
    '作成するファイルパスを指定
    filePath = "C:\Users\user\Desktop\aiueo.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'テキストファイルを開く(テキストファイルが存在しない場合は新規作成)
    Set tso = fso.OpenTextFile(fileName:=filePath, IOMode:=8, Create:=True)
    
    '書き込み ※改行あり
    tso.WriteLine "hogehoge"
    
    'テキストファイルを閉じる
    tso.Close
    
   '後片付け
    Set tso = Nothing
    Set fso = Nothing
    
End Sub

「FileSystemObject」の「OpenTextFile」メソッドにより、「TextStreamオブジェクト」を取得します(15行目)。
※テキストファイルが新規作成されます。
※「Create:=True」により、既にファイルが存在する場合は上書きします。

「TextStreamオブジェクト」の「WriteLine」メソッドにより、書き込みをします(18行目)。
※上記では文字列「hogehoge」を書き込んでいます。
※改行も書き込まれます。

「TextStreamオブジェクト」の「Close」メソッドにより、ファイルを閉じます(21行目)。

PR

参考②

ログファイルを作成(=ログを出力)することもできます。

詳細は以下の記事をご確認ください。

PR

参考③

フォルダを新規作成することもできます。

詳細は以下の記事をご確認ください。

PR

参考④

テキストファイル内の文字列の置換もできます。

詳細は以下の記事をご確認ください。

PR

参考⑤

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●Openステートメント


●Printステートメント


●Closeステートメント


●FreeFile関数


●「FileSystemObject」の「OpenTextFile」メソッド


●「TextStreamオブジェクト」の「WriteLine」メソッド


●「TextStreamオブジェクト」の「Close」メソッド

タイトルとURLをコピーしました