Paper Plane xUI応用編−Scriptの使い方
事前の準備
TORO's Libraryに行き、ppxscr08.zipをダウンロードしましょう。
これを解凍し、中にあるPPXSCR.dllをPPxフォルダに移動させます。
次に、PPxフォルダのサブフォルダとして、Scriptというフォルダを作成します。PPxでは、Kを押すと新規ディレクトリが作れます。
howmタイトル表示用コメントファイルの自動作成スクリプト
スクリプトの説明
このスクリプトは、howmファイルの一行目に書いたタイトルを、そのファイルのコメントとするコメントファイルを自動で作成するものです。このスクリプトはhowmファイルのタイトル一覧表示に使います。
Scriptフォルダにスクリプトを保存
Scriptフォルダに、次のスクリプトをMakeComment.jsというファイル名で保存します。
MakeComment.js
//!*script var strLine = "\n"; currentDir = PPx.Extract("%1"); // ファイル操作 var objApl = new ActiveXObject("Shell.Application"); var objFolder = objApl.NameSpace(currentDir); // ファイルのリストを取得 var objFolderItems = objFolder.Items(); // フォルダ内のファイルとフォルダへの処理 for(var i=0;i<objFolderItems.Count;i++) { var objItem = objFolderItems.Item(i); var objFileSys = new ActiveXObject("Scripting.FileSystemObject"); // ディレクトリでなく空ファイルでもなく00_INDEX.txtでもなく拡張子がtxtかhowmの場合に処理する if (objItem.IsFolder==false && objItem.Size != 0 && objItem != "00_INDEX.txt" && (objFileSys.GetExtensionName(objItem) == "txt" || objFileSys.GetExtensionName(objItem) == "howm")) { // ファイルの内容を取得 objInFile = objFileSys.OpenTextFile(objItem, 1); // ファイル名+Tab+一行目の最初二文字を切り取ったもの+改行をstrに代入 str = objItem + "\t" + objInFile.ReadLine().slice( 2 ) + "\n" strLine = strLine + str; objInFile.Close(); }else{} } // カレントディレクトリに00_INDEX.txtを作成 strCreateFile = objFileSys.BuildPath(currentDir,"00_INDEX.txt"); objFileSys.CreateTextFile(strCreateFile); // 00_INDEX.txtに書き込み objOutFile = objFileSys.OpenTextFile(strCreateFile, 2); objOutFile.Write(strLine); objOutFile.Close();
連動ビューのON/OFFトグル
もう一つ、スクリプトを使えるようにします。
PPXWIN.DLLの用意
まずはTORO's Libraryに行き、ppxwin04.zipをダウンロードしましょう。
それを解凍し、その中にあるPPXWIN.DLLをPPxフォルダに移動させます。
次に、下のスクリプトをsyncview.jsという名前でScriptフォルダに保存します。
syncview.js
//!*script //type = 0 または指定無し : base window 上に重なる。 //大きさも同じに //type = 1 : base window の左側に移動、高さが同じに //type = 2 : base window の右側に移動、高さが同じに //type = 3 : base window の上側に移動、幅が同じに //type = 4 : base window の下側に移動、幅が同じに var useppv = 'A'; // 使用PPv ID if ( PPx.CodeType == 0 ){ var ppvname = 'ppv'; }else{ var ppvname = 'ppvw'; } if ( PPx.SyncView == 0 ){ PPx.Execute('%Oi '+ppvname+' /r /bootid:'+useppv+' %FDC'); PPx.Execute('*fitwindow %NC,%NV'+useppv+ ',2'); PPx.SyncView = 1; }else{ PPx.Execute('%KV'+useppv+'"@Q"'); PPx.SyncView = 0; }