外部から表を参照しCSVにてDB用のデータを作成しています。
ネットで調べて出てきたコードを書き加えても中身が入っていないCSVしか保存されません。わかる方ご教授お願いいたします。
VBA
1Sub writeCSV_utf8N() 2 3Dim ws As Worksheet 4Set ws = ThisWorkbook.Worksheets(1) 5 6Dim csvFile As String 7csvFile = ActiveWorkbook.Path & "\data_utf8.csv" 8 9'ADODB.Streamオブジェクトを生成 10Dim adoSt As Object 11Set adoSt = CreateObject("ADODB.Stream") 12 13Dim strLine As String 14Dim i As Long, j As Long 15i = 1 16 17With adoSt 18 .Charset = "UTF-8" 19 .LineSeparator = adLF 20 .Open 21 22 Do While ws.Cells(i, 1).Value <> "" 23 24 strLine = "" 25 26 j = 1 27 Do While ws.Cells(i, j + 1).Value <> "" 28 29 strLine = strLine & ws.Cells(i, j).Value & "," 30 j = j + 1 31 32 Loop 33 34 strLine = strLine & ws.Cells(i, j).Value 35 36 .WriteText strLine, adWriteLine 37 38 i = i + 1 39 40 Loop 41 42 .Position = 0 'ストリームの位置を0にする 43 .Type = adTypeBinary 'データの種類をバイナリデータに変更 44 .Position = 3 'ストリームの位置を3にする 45 46 Dim byteData() As Byte '一時格納用 47 byteData = .Read 'ストリームの内容を一時格納用変数に保存 48 .Close '一旦ストリームを閉じる(リセット) 49 50 .Open 'ストリームを開く 51 .Write byteData 'ストリームに一時格納したデータを流し込む 52 .SaveToFile csvFile, adSaveCreateOverWrite 53 .Close 54 55End With 56 57End Sub
1行に複数文が入ってますが、これは改行がおかしい(コピペミス)?あるいは区切りの : が抜けている?
あるいは、本当にこのコードを実行している??