tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルUnicode文字が含まれるパスのOpen
記事No13829
投稿日: 2009/07/09(Thu) 13:06
投稿者みなな
いつもお世話になっています。

open パス for モード as #ファイル
このOpenのパスにUnicode文字が含まれていると開けないと思うのですが、
これを開けるようにする方法はありませんでしょうか?

現在Openの後はGetで内容を取得しています。
Openではない代替案でもあれば助かります。

よろしくお願い致します。

[ツリー表示へ]
タイトルRe: Unicode文字が含まれるパスのOpen
記事No13830
投稿日: 2009/07/09(Thu) 14:02
投稿者魔界の仮面弁士
> このOpenのパスにUnicode文字が含まれていると開けないと思うのですが、

'C:\[イ尓]好.TXT   (C:\ニイハオ.TXT)
Path = "C:\" & ChrW(&H4F60) & ChrW(&H597D) & ".TXT"

のようなパスの事だとしたら、Open ステートメントでは無理ですね。
ただし、8+3 のショートファイル名経由であれば開けます。


> Openではない代替案でもあれば助かります。

(案1) FileSystemObject の OpenTextFile メソッド。
    Set FSO = New Scripting.FileSystemObject
    Set TS = FSO.OpenTextFile(Path, ForReading)
    S = TS.ReadAll()
    TS.Close

(案2) Stream の LoadFromFile メソッド。
    Set Stm = New ADODB.Stream
    Stm.Type = adTypeText
    Stm.Charset = "Shift_JIS"
    Stm.Open
    Stm.LoadFromFile Path
    S = Stm.ReadText(adReadAll)
    Stm.Close

(案3) CreateFileW API 関数。

[ツリー表示へ]
タイトルRe^2: Unicode文字が含まれるパスのOpen
記事No13833
投稿日: 2009/07/09(Thu) 18:01
投稿者みなな
お返事ありがとうございます
魔界の仮面弁士様のおっしゃる通りのパスのことです。

> ただし、8+3 のショートファイル名経由であれば開けます。
そうなのですか!これを使って不都合など特になければこれでやってみたいと思います。

あとは案2か3も試してみます。
ありがとうございます!

[ツリー表示へ]
タイトルRe^2: Unicode文字が含まれるパスのOpen
記事No13837
投稿日: 2009/07/12(Sun) 02:00
投稿者みなな
ここで書き込んだことが勘違いだとわかりました。
紛らわしくなってしまうので、消させていただきました。
読んで下さった方もうしわけありません。

[ツリー表示へ]