人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル2003の質問です。csv や、tab 区切りで保存するときに、UTFで出力したいのですが、できないのでしょうか?
入力するデータそのものは多言語入力可能です。

●質問者: kaiketsu
●カテゴリ:コンピュータ
✍キーワード:CSV エクセル データ 入力 言語
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● masa193
●27ポイント

秀丸エディタを使用していますが、テキストに吐き出す方法でよろしいでしょうか?

でしたら、下記のリンク先のように、指定のunicodeに設定すればよいかと思います。

http://wiki.livedoor.jp/mmj_aos/d/%BD%A8%B4%DD%A4%C7UTF-8%CA%B8%...

◎質問者からの返答

エクセルから出すときが問題なんです。


2 ● koriki-kozou
●27ポイント

ExcelはShiftJISのみ

VBAで1行分をカンマで連結してUTF変換後ファイル出力を繰り返す事で対応

UTFへの変換は既存モジュールを用いるとよいでしょう

UTF-8ファイル作成 for VBA

http://www.vector.co.jp/soft/winnt/prog/se320375.html

>本ソフトはUTF-8符号化テキストファイル作成のためのVBAクラスモジュールです。

>使い方はいたって簡単。クラスモジュールのソースをインポートするだけで、通常のテキストファイル(TextStream)と似たようなインタフェースで利用できます。

>ソースコードも公開しているので、モジュール名の変更、機能変更・追加が自由に行えます。UTF-16やShift_JISでの出力にも対応しています。

◎質問者からの返答

ありがとうございます。


3 ● jccrh1
●26ポイント

私はSHIFT JISでファイルを出力後、ファイル全体をUTFに変換しています。

変換用のモジュールは以下の通りです。

Public Sub ファイル変換JIStoUTF8(変換ファイル名 As String)
 Dim Jisobj As ADODB.Stream
 Dim UFTobj As ADODB.Stream
 
 Set Jisobj = New ADODB.Stream
 Set UFTobj = New ADODB.Stream
 With Jisobj
 .Type = adTypeText
 .Charset = "shift-jis"
 .Open
 .LoadFromFile 変換ファイル名
 .Position = 0
 End With
 With UFTobj
 .Type = adTypeText
 .Charset = "utf-8"
 .Open
 End With
 Jisobj.copyto UFTobj
 UFTobj.Position = 0
 UFTobj.savetofile 変換ファイル名, adSaveCreateOverWrite
End Sub

注)受け渡しの「変換ファイル名」はフルパスで指定して下さい。

「Microsoft ActiveX Data Objects 6.0 Library」を参照設定して下さい。

ダミーURL:http://q.hatena.ne.jp/1271586963

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ