//!*script
// 位置情報を記録したS_xxxを一時ファイルに保存。ファイルパスを返す
// 「PPvの位置を一行編集で保存・再現」用スクリプト

// 第一引数 : S_xxx

// 位置情報はS_xxx+連番(S_xxx1 S_xxx2 S_xxx3 ...)に保存されている想定
// 例:*ppv %*script(%0Script\getwinpos.js,S_ppvpos)

// 引数がなければ終了
if (PPx.Arguments.Length < 1){
  PPx.SetPopLineMessage("引数が正しくありません。");
  PPx.Quit();
}

var id = PPx.Arguments(0);
// 一時ファイルを作成
var tempfile = PPx.Extract("%*temp(name,f)");
var stream         = new ActiveXObject("ADODB.Stream");
    stream.type    = 2;
    stream.charset = 'UNICODE';

stream.open();
for (var i = 0; true; i++) {
  var l = PPx.Extract("%*getcust\("+id+i+":l\)");
  var t = PPx.Extract("%*getcust\("+id+i+":t\)");
  var w = PPx.Extract("%*getcust\("+id+i+":w\)");
  var h = PPx.Extract("%*getcust\("+id+i+":h\)");
  var comment = PPx.Extract("%*getcust\("+id+i+":comment\)");
  var str = l+","+t+","+w+","+h+" ;"+comment;
  if (l){
    stream.WriteText(str,1);
  } else {
    break;
  }
}
stream.saveToFile(tempfile,2);
stream.close();
PPx.Result = tempfile;