投稿時間:2004/08/31(Tue) 10:07 投稿者名:kazuやん
Eメール:
URL :
タイトル:Re: テキストデータの結合
> DOSコマンドを使うと文字化けして出力されてしまいます。 > DOSコマンド以外の方法とかはないのでしょうか? > よろしくお願いいたします。
単純に2つのファイルを開いて新たなファイルに書き込むのはどうでしょうか?
「プロジェクト」-「参照設定」-「Microsoft Scripting Runtime」にチェック
Sub main()
'変数宣言 Dim file1 As String Dim file2 As String Dim file3 As String Dim r_rec As String file1 = App.Path & "\A.txt" file2 = App.Path & "\B.csv" file3 = App.Path & "\C.txt"
'FileSystemObject生成 Set FSO = CreateObject("Scripting.FileSystemObject") 'ファイル存在チェック If FSO.FileExists(file1) = False Then MsgBox FSO.GetFileName(file1) & "ファイルが存在しません!!", vbInformation, "エラー" Set FSO = Nothing Exit Sub End If
Set ObjTs = FSO.OpenTextFile(file1, ForReading, True)
'------------------------------------------------------------- ' ファイルの末尾に到達するまで '------------------------------------------------------------- Do While ObjTs.AtEndOfStream <> True '1行読み込み r_rec = ObjTs.ReadLine 'ファイルへ書き込み Call File_Write(file3, r_rec) Loop
Set ObjTs = Nothing
If FSO.FileExists(file2) = False Then MsgBox FSO.GetFileName(file2) & "ファイルが存在しません!!", vbInformation, "エラー" Set FSO = Nothing Exit Sub End If
Set ObjTs = FSO.OpenTextFile(file2, ForReading, True)
'------------------------------------------------------------- ' ファイルの末尾に到達するまで '------------------------------------------------------------- Do While ObjTs.AtEndOfStream <> True '1行読み込み r_rec = ObjTs.ReadLine 'ファイルへ書き込み Call File_Write(file3, r_rec) Loop
Set ObjTs = Nothing Set FSO = Nothing
'============================================================= ' ファイル書き込み ' 引数: ' file_name : ファイル名 ' str : 書き込む内容 ' 戻り値: ' なし '============================================================= Private Function File_Write(file_name As String, str As String) 'ファイル作成 Open file_name For Append As #1 Print #1, str Close #1 End Function
|