掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Unicodeで書かれたハングル文字のテキストファイルをVBAで読み込みセルに描画するには? (ID:80274)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> いろいろ詳しく教えていただきありがとうございます。 本題から脱線して、一部Unicode講座になっちゃいましたけれどね。(汗 > Stm.Charset = "unicode" ' 文字コード > Stm.LineSeparator = adCRLF '(←Const adCRLF = -1) これら "Unicode" と adCRLF は、それぞれのプロパティの既定値です。 なので今回の場合は、 Set Stm = CreateObject("ADODB.Stream") Stm.Open Stm.LoadFromFile SourceFilePath だけでもOKだったりします。 (まぁ、一応指定しておいた方が良いでしょうけれどね) > Charset は "ShiftJIS", "Shift-JIS", "Shift_JIS", "SJIS" 当方の環境では、 NG: "ShiftJIS" OK: "Shift-JIS" OK: "Shift_JIS" OK: "X-SJIS" OK: "SJIS" でした。ただ、HTMLでの文字コード表記で利用される <META Http-equiv="Content-Type" Content="text/html;charset=Shift_JIS"> に合わせる意味で、"Shift_JIS"に合わせて置くのが無難でしょう。 > Charset や LineSeparator に指定できるものというのは、 これらは、ADO(バージョン2.5以上)のヘルプで調べる事ができます。 まず LineSeparator ですが、これは adCR (=13)、adCRLF (=-1)、adLF (=10) の3つのうち、いずれかを指定します。 それぞれが何を意味する値かは、説明不要ですよね。 なお、参照設定で Microsoft ActiveX Data Object の 2.5(またはそれ以降)をチェックしておくと、adCRLF などの値を自分で定義する必要は無くなります。 (ちなみに、C:\Program Files\Common Files\System\ado\adovbs.incに、VBScript用の定数定義一覧があります) それと、Charset ですが、これは以下のようにヘルプに記載されています。 ************* 利用できる値は、インターネット文字セット文字列としてインターフェイスで渡すことのできる通常の文字列です ("iso-8859-1"、"Windows-1252" など)。システムが認識できる文字セット文字列の一覧については、Windows レジストリの HKEY_CLASSES_ROOT\MIME\Database\Charset のサブキーを参照してください。 ************* 例えば、先述のシフトJISについて、上記レジストリキーを参照すると、 [HKEY_CLASSES_ROOT\MIME\Database\Charset\shift_jis] "Codepage"=dword:000003a4 "InternetEncoding"=dword:000003a4 [HKEY_CLASSES_ROOT\MIME\Database\Charset\csShiftJIS] "AliasForCharset"="shift_jis" [HKEY_CLASSES_ROOT\MIME\Database\Charset\csWindows31J] "AliasForCharset"="shift_jis" [HKEY_CLASSES_ROOT\MIME\Database\Charset\ms_Kanji] "AliasForCharset"="shift_jis" [HKEY_CLASSES_ROOT\MIME\Database\Charset\shift-jis] "AliasForCharset"="shift_jis" [HKEY_CLASSES_ROOT\MIME\Database\Charset\x-ms-cp932] "AliasForCharset"="shift_jis" [HKEY_CLASSES_ROOT\MIME\Database\Charset\x-sjis] "AliasForCharset"="shift_jis" のように書かれており、基本的には"shift_jis"であり、その他の表記は shift_jisの別名(エイリアス)に過ぎないことが推測できます。 ただし、指定できる値は、上記のレジストリキーだけで管理されているというわけでは無さそうです。 実際、私の環境では、上記に登録されていない "utf-16" という値を使う事ができますので…。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.