*[PPx]スクリプト中でレスポンスファイル(UTF-8)をハンドリング

先日複数エントリマーク時のループ処理をレスポンスファイルを
利用して行うように変更したのだが困ったことに。

UNICODEファイル名がうまくハンドリングできない。
PPx.Extract("%a*8FDCN")でファイルはちゃんとできるしエディタで編集もできる。
ところがそれをスクリプトで読んでPPx.Echoすると化ける。

結論から言うとFileSystemObjectを使っていたのが原因。
FileSystemObjectはUNICODEUTF-8に対応してないそうでUTF-8
使いたいのならADODB.Streamとのこと。<追記>UTF-16には対応してるとのこと

ストリームと言うだけあってファイル以外もハンドリングできるらしい。

早速スクリプトを書き換え。
凡例はgoogle検索でいろいろと見つかる。

試しに一つほど書き換えてみた。
問題なさそうなら他のスクリプトも書き換え予定。

PPxレスポンスファイルを読むのはこんな感じ。

//!*script
var OrgFiles = new Array();
var StreamObj;
var FileList;

FileList = PPx.Extract("%a*8FDCN");
StreamObj = new ActiveXObject('ADODB.Stream');
StreamObj.type = 2;
StreamObj.charset = 'utf-8';
StreamObj.Open();
StreamObj.loadFromFile(FileList);
while (!StreamObj.EOS) {
    OrgFiles.push(StreamObj.readText('-2'));
}
StreamObj.Close();