掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイル情報を取得するには? (ID:76771)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
FAT32などでは、1つのファイルに1つのストリーム(無名ストリーム)しか 書き込む事ができませんが、NT3.1, 3.5x, NT4, 2000, XP等で利用される NTFSでは、1つのファイルに複数のストリームを割り当てることができます。 例えば、"C:\text.txt" に、MyData という名前のストリームデータを 保存したい場合は、Scripting.TextStreamオブジェクトなどを使って、 "C:\test.txt:MyData" というファイル名で保存すればOKです。 Path = "C:\test.txt:MyData" FSO.CreateTextFile(Path).Write "あいうえお" 読み込むときも同様。[ファイル名] + ":" + [ストリーム名] というファイル名でアクセスします。 Debug.Print FSO.OpenTextFile(Path).ReadAll() で、本題。 上記では、"MyData"というストリーム名に保存しましたが、XPの概要タブで使われる ストリームの名前は、『Chr(5) & "SummaryInformation"』という文字列になっていますので、 Path = "C:\test.txt:" & Chr(5) & "SummaryInformation" というファイル名で読み込めばOKです。 # ただし、このストリーム中には "タイトル"や"カテゴリ"などといった # 複数の項目情報がバイナリで格納されていますので(文字列部分はUnicode)、 # TextStreamオブジェクトよりも、(バイナリモードの)ADODB.Streamを # 利用した方が安全かもしれません。 なお、まだ概要タブでデータを書き込んだ事が無い場合、 Path = "C:\test.txt:" & Chr(5) & "SummaryInformation" を開こうとしても、「ファイルがありません」というエラーになりますので、 予め、FSO.FileExists(Path)などを使って、ストリームの存在チェックを した方が良いかもしれません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.