VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -