テキストをUTF-8として出力

Pocket

ExcelでVBAを使ってテキストを出力する場合は「Open/Print/Close」という方法を使いますが、文字コードをUTF-8にして出力する場合には「ADODB.Stream」オブジェクトを使います。もちろん通常のShift-JISでも出力できます。
詳細はhttp://msdn.microsoft.com/ja-jp/library/cc364272.aspxを参照してください。

サンプル

Sub テキスト出力()
    mytext = "これはテスト。" & vbCrLf & "二行目。"
    myfile = "D:\test.txt"
    With CreateObject("ADODB.Stream")
        .Type = 2
        .Charset = "utf-8"
        .Open
        .WriteText mytext, 1
        .SaveToFile myfile, 2
        .Close
    End With
End Sub

説明

Type

「2」とします。1:バイナリ、2:テキスト

Charset

「utf-8」とします。他に「shift_jis」などが使えます。WindowsレジストリのHKEY_CLASSES_ROOT\MIME\Database\Charsetのサブキーにセットされているものが使えます。

WriteText

1番目の引数に出力する文字列を指定します。
2番目の引数に最後の行の終わりに改行を入れるかどうかを指定します。0:改行を入れない、1:改行を入れる

SaveToFile

1番目の引数にファイル名をフルパスで指定します。
2番目の引数に「2」とします。ファイルは上書きされます。

[ 2011年2月14日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報