前提・実現したいこと
エクセル上データを、csvファイルに手書き出したいです。
・文字コードはutf-8
・bomn 無し の状態が欲しいです。
該当のソースコード
vba
1Public Sub CsvOutput() 2 3 Dim Target As String, i As Long, j As Long, buf As String 4 Target = ActiveWorkbook.Path & "\data.txt" 5 6 MaxRow = Range("A1").End(xlDown).Row 7 8 With CreateObject("ADODB.Stream") 9 .Charset = "UTF-8" 10 .Open 'ファイルを書き込みで開く 11 For i = 1 To MaxRow 12 buf = "" 13 For j = 1 To 12 '何行あるかの指定 14 15 'データの間にカンマを入れて変数に入れる 16 buf = buf & Cells(i, j) & "," 17 Next j 18 .WriteText Left(buf, Len(buf) - 1), 1 19 Next i 20 .SaveToFile Target, 2 21 22 .Position = 0 'ストリームの位置を0にする 23 .Type = adTypeBinary 'データの種類をバイナリデータに変更 24 .Position = 3 'ストリームの位置を3にする 25 26 Dim byteData() As Byte '一時格納用 27 byteData = .Read 'ストリームの内容を一時格納用変数に保存 28 .Close '一旦ストリームを閉じる(リセット) 29 30 .Open 'ストリームを開く 31 .Write byteData 'ストリームに一時格納したデータを流し込む 32 .SaveToFile Target, adSaveCreateOverWrite 33 .Close 34 End With 35 36MsgBox "csvに記載完了" 37 38End Sub
発生している問題・エラーメッセージ
.Type = adTypeBinary 'データの種類をバイナリデータに変更 の部分で 『引数が間違った型、許容範囲外、または競合しています。』 というエラーが出ます。
補足情報(FW/ツールのバージョンなど)
環境
whindous 7
Excel 2016

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/05 00:03