必要なときだけPPcを起動して、PPvの表示ファイルを切り替えられるようにする。これにより、PPcに紐付けられたビュアーとしてではない、PPv単体での活用が可能になる。
以下を編集して取込。
_Command = { ; ユーザコマンド・関数 opensyncwin = *ppc -r -bootid:x -single -k *jumppath %*arg(1) %%: *mapkey use,K_syncwin %%: *ppvoption id %%*rightstr("%%n", 1) %%: *ppvoption sync on %%: *fitwindow %*extract("%%NV%*rightstr("%n", 1)"),%%NC,8 } KV_main = { ; PPvメイン窓 O ,*opensyncwin %0 } K_syncwin = { ENTER ,*ifmatch "o:e,a:d+","%*name(CD,"%R","%1")" %: %K"@ENTER" %: *stop %K"@Q }
ユーザコマンド*opensyncwinにパスを渡すと、そのパスをPPcで表示する。ここではPPxフォルダのパスを渡している。
操作は以下の通り。
- PPvを起動
- [O]を押すとPPcが連動ビューONで起動
- 目的のファイルを見つけたら[ENTER]でPPcが閉じる
応用編
*opensyncwinに渡すパスを変えてみよう。
表示中のファイルパスを渡す
PPvで表示中のファイルのパスを渡す。
*opensyncwin %FCD
ListFileを渡す
予め作っておいたListFileを渡す。以下はPPxフォルダにあるforppv.txtを渡す場合。
*opensyncwin %0forppv.txt
ListFileは、*makelistfileを使うと作るのが簡単。
例えば登録したいエントリをマークし、*makelistfile %0forppv.txt -basic -marked でListFileを作成することができる。 また、PPcでListFileを表示し、そこにエントリをコピーをすると、そのエントリを登録することができる。
スクリプトで作成したListFileを渡す
PPvの表示履歴を渡す。 以下をScriptフォルダに保存。
ppvhistory.js
//!*script // %hvnをListfile形式で一時ファイルに保存し、パスを返す // 例:*ppc -bootid:z -single %*script(%0\Script\ppvhistory.js) // 一時ファイルを作成 var tempfile = PPx.Extract("%*temp\(\)ppvhis.txt"); var strLine = ";ListFile\r\n"; // %hvnを20まで取得 for (var i = 0; i < 20; i++) { if (PPx.Extract("%hv"+i)!="") { strLine += PPx.Extract("%hv"+i)+ "\r\n"; } else { break; } } // 一時ファイルに書き込み var fs = PPx.CreateObject("Scripting.FileSystemObject"); var f = fs.OpenTextFile(tempfile, 2, true, -1); // unicodeで書き込み f.Write(strLine); f.Close(); PPx.Result = tempfile;
以下のコマンドをPPvから実行する。
*opensyncwin %*script(%0\Script\ppvhistory.js)
0 件のコメント:
コメントを投稿