以前、マークファイルの内容をクリップボードにコピーするclipmarkfile.jsを作ったのだが、s-jisしか読み込めなかった。そこでutf-8版を作成。
_autodetect_allを使えば自動判別するらしいのだが、僕の環境だとうまく判別してくれないので、s-jis版とutf-8版に分けて運用したいと思う。
climparkfileU.js
//!*script
// マークファイルの内容をutf-8で読み込みクリップボードに保存
if (PPx.EntryFirstMark == 0){
var f = PPx.Extract("%FCD");
var s = readFile(f, "utf-8");
PPx.Clipboard = s;
} else {
strLine = ""
while(true){
var dir = PPx.Extract('%1');
var entryName = PPx.EntryName;
var f = dir + "\\" + entryName;
var s = readFile(f, "utf-8");
strLine=strLine+s+"\n";
if(PPx.EntryNextMark == 0) break;
}
PPx.Clipboard = strLine
}
// ファイルの読込み
function readFile(fname, charset) {
if (charset == undefined) {
charset = "_autodetect_all";
}
var adTypeBinary = 1, adTypeText = 2;
var adReadAll = -1, adReadLine = -2;
var s = new ActiveXObject("ADODB.Stream");
s.Type = adTypeText;
s.charset = charset;
s.Open();
s.LoadFromFile(fname);
var text = s.ReadText(adReadAll);
s.Close();
return text;
}
0 件のコメント:
コメントを投稿