Excelでテキストファイルの読み込み、加工、書き出し

ExcelのVBAでテキストファイルを加工できるのか、実験してみました。JWWの外部変形はjgawk,Rubyなどが有名ですが初心者にはインストール自体がつまずくポイントです。そこで、Excel VBAでできないのかと思いました。

スポンサーリンク

テキストファイルを一行ずつ読み込む

textを一行ごとに、セルに書き込みます。戻り値は行数です

Function test_jw02() As Long  '// 一行ずつセルに書き込み
    Dim buf As String, n As Long
    n = 0
    Open "G:\App\jww02\jww\Jw_win.jwf" For Input As #1
    '// Open ファイル名 For 開き方 As #ファイル番号  Input 読み込みモード

        Do Until EOF(1)
            Line Input #1, buf
            '//Line Input #filenumber, var    varに一行挿入
            n = n + 1
            Worksheets("Sheet2").Cells(n, 1) = buf  '//シート名は””で囲む
        Loop
    Close #1
    Debug.Print n
    test_jw02 = n
End Function
スポンサーリンク

Excelから、Textに書き込み

セルの内容をテキスト一行に書き込み

Sub write_jw02(n)   '// 一行ずつTEXTに書き込み
    Dim buf As String
    
    Open "G:\App\jww02\jww\Jw_win.jwf" For Output As #1
    '// Open ファイル名 For 開き方 As #ファイル番号  Output 書き込みモード(上書き)

        For i = 1 To n
            Print #1, Worksheets("sheet2").Cells(i, 1).Value
        Next
    Close #1
End Sub

Find 文字検索

見つかったら、セルの番号を返します。

Sub changeCell(s)
    Dim rng As Object
    
    Set rng = Worksheets("sheet2").Columns(1).Find("COM_LAY01")
    rng.Value = s
    
    Debug.Print rng
End Sub

コメント

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