[[20100617130352]] 『「テキスト(タブ区切り)」を「UTF-8」で保存すax(カルベリー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『「テキスト(タブ区切り)」を「UTF-8」で保存するには』(カルベリー)

こんにちわ。
ひとつのシートを保存する際に文字コード「UTF-8」で保存することはできますでしょうか。

現在は、ファイル>名前を付けて保存>ファイルの種類を「テキスト(タブ区切り)」
で保存した後、サクラエディタで開き、UTF-8に変換して保存しなおしています。

これが面倒なことと、ところどころ文字化けしてしまっていて、使い物になりません。

なので、エクセルから直接「テキスト(タブ区切り)」を「UTF-8」で保存できればと思っています。

ご存知の方おられましたらご教授願えませんでしょうか。
よろしくお願いいたします。

Microsoft Office Excel 2007
WindowsXPです。


 テストしてませんが、こんなコードで変換できると思います。
 下のコードをサブプロシージャとして入力ファイルパスと変換後の保存パスをパラメータとして
 渡せば出来ると思います。
 一旦、シフトJISでテキストとして保存してからパスを渡してください。

  Sub ConvertSjisToUtf(InFileName, OutFileName)
  Dim objSJIS As Object, objUTF As Object
  Set objSJIS = CreateObject("ADODB.Stream")
  Set objUTF = CreateObject("ADODB.Stream")
  With objSJIS
    .Charset = "Shift_JIS"
    .Open
  End With
  With objUTF
    .Charset = "UTF-8"
    .Open
  End With
  With objSJIS
    .LoadFromFile InFileName
    .CopyTo objUTF
    .Close
  End With
  With objUTF
    .SaveToFile OutFileName, 2
    .Close
  End With
  Set objSJIS = Nothing
  Set objUTF = Nothing
  End Sub

 (momo)

momoさん、ありがとうございます!

これはいわゆる、マクロとかVBAと呼ばれるものなのでしょうか?
コードというのはどのように使用するものになるのでしょうか。
折角教えていただいたのに、そのあたりのことに知識がなくピンと来なくて申し訳ないです。

(カルベリー)


 2007のVBEの起動方法はよくわかりませんが
 2003ですとAlt+F11で起動しますので「挿入」から「標準モジュール」を選んで
 出てきた画面に貼り付けます。

 実行用のコードとして
 sub test()
 ConvertSjisToUtf "D:\sjis.txt","D:\utf.txt"
 end sub

 みたいなものを作ってボタンでもマクロ実行でもいいのでtestを実行してみてください。
 ConvertSjisToUtfプロシージャに与える最初のパスが元のS-JISのTxtファイルのパスで
 次がUTFに変換後の保存ファイル名のパスです。

 Txtは手動で作っていたのですね。失礼しました。
 VBA以外での方法でEXCELでUTFに変換する方法は知りませんので
 VBAが無理であれば他のソフトやエディターで変換するしかないかもしれません。
 (momo)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.