Top / TIPS / Unicodeファイル名

ファイル名には Unicode が使えます。
が、ANSI コードページに存在しない文字を使っていると、VB からは扱えません。

unicode.gif

上の画像のようなフォルダを、Dir 関数で列挙してみましょう。

Sub Main()
   Dim v As Variant
   v = Dir("C:\Unicode\*.*")
   Do Until Len(v) = 0
       Debug.Print v
       v = Dir
   Loop
End Sub

イミディエイトウィンドウには、以下のように表示されたはずです。

R
R
? <------- 化けてます

基本的に、VBでは、JIS ,シフトJIS しか扱えません。

テキストボックスなどのコントロールにはシフトJISに変換できない文字は入力できません。ですので、いままで問題は起きなかったのでしょう。

しかし、.NET では、Unicode 文字列を正式にサポートしています。 いままで ANSI版の API を使っていたコードは見直しが必要です。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-10-31 (土) 00:05:12 (2847d)