Bing AI Chat に聞いてみました。
新しトピック → 「Excel VBA 文字コードUTF-8、改行コードCrLfで拡張子tsvで保存する」 を入力
回答は↓↓↓↓↓
Excel VBAで文字コードUTF-8、改行コードCrLfで拡張子tsvで保存する方法は、以下のようになります。
- ADODB.Stream オブジェクトを使ってテキストファイルを読み書きする1。
- ADODB.Stream の Type プロパティを adTypeText に設定する1。
- ADODB.Stream の Charset プロパティを “utf-8” に設定する1。
- ADODB.Stream の LineSeparator プロパティを adCRLF に設定する12。
- ADODB.Stream の WriteText メソッドでデータを書き込む1。
- ADODB.Stream の SaveToFile メソッドでファイルに保存する1。
- ファイル名の拡張子を “.tsv” にする3。
具体的なコード例は、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Sub SaveAsTSV_UTF8_CRLF() 'アクティブなブックをTSV形式で保存する Dim ws As Worksheet Dim rng As Range Dim str As String Dim stream As Object Set ws = ActiveWorkbook.ActiveSheet 'シートを指定 Set rng = ws.UsedRange '使用範囲を指定 str = rng.Value 'セルの値を文字列に変換 Set stream = CreateObject("ADODB.Stream") 'ストリームオブジェクトを作成 stream.Type = 2 'テキストタイプ stream.Charset = "utf-8" '文字コードをUTF-8に設定 stream.LineSeparator = -1 '改行コードをCRLFに設定 stream.Open 'ストリームを開く stream.WriteText str 'データを書き込む stream.SaveToFile "C:\test.tsv", 2 'ファイルに保存(上書き) stream.Close 'ストリームを閉じる End Sub |