

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



コメント