◆テキスト形式の読み込み・書き込み
ファイルの操作まで Excel でする必要は無いかもしれませんが、簡単に
サンプルプログラムを使って解説します。
サンプルプログラムは、テキスト形式のファイルを1行づつ読んで、新しいファイルに
1行づつ書き込みを行っています。
最後に読み込んだファイルを削除して、新たに作成したファイルに読み込んだ
ファイルの名前を付けています。
ファイルの読み込み・書き込みをする場合、最初に空いているファイル番号を
使ってファイルのオープンが必要です。
ファイルの読み・書きは Excel 単独の処理ではなくて、OS を仲介して行っています。
ファイル番号とは、OS とファイルを結びつける通路みたいなものです。
空いているファイル番号は、 FreeFile を使って取得します。
オープンするときに、読み込み(Input)・書き込み/作成(Output)等のどういう
モードでオープンするのかを最初に宣言します。
その後に、実際の読み込みや書き込みを行います。
サンプルでは1行毎に読み込み・書き込みを行っています。
最後に Close でファイルを閉じます。
Kill はファイルを削除します。
Name で名前の変更を行っています。同じ名前でパスを変更すればファイルの
移動ができます。
example14 をダウンロードして動作を確認してください。
Sub FileDuplicate()
Dim FileType, Prompt, Item As String
Dim FileNamePath, TempFileNamePath As Variant
Dim textline As String
Dim i As Integer
Dim ch1, ch2 As Long
FileType = "すべての ファイル (*.*),*.*"
Prompt = "File を選択してください"
FileNamePath = SelectFileNamePath(FileType, Prompt)
If FileNamePath = False Then
End
End If
ch1 = FreeFile
Open FileNamePath For Input As #ch1
ch2 = FreeFile
TempFileNamePath = FileNamePath & Format(Now, "yyyymmddhhmmss")
Open TempFileNamePath For Output As #ch2
Do While Not EOF(ch1)
Line Input #ch1, textline
Print #ch2, textline
Loop
Close #ch1, #ch2
Kill FileNamePath
Name TempFileNamePath As FileNamePath
End Sub
Function SelectFileNamePath(FileType, Prompt) As Variant
SelectFileNamePath = Application.GetOpenFilename(FileType, , Prompt)
End Function
この例では、一つのファイルだけを対象にしていますが、フォルダを指定して複数の
ファイルを対象にすれば、一括の修正・追加ができるアプリケーションを作成できます。
example15 は、それを行うサンプルアプリケーションです。
このホームページの各ページの共通部分の一括修正に使っています。
こちらも参考にしてください。