/* (Tab=4) [概要] フォントサイズを変更します。 フォント設定ダイアログの [サイズ] で、1段階大きいサイズを選択します。 [制限] 実行中に、他のアプリケーションをアクティブにすると誤動作します。 [変更履歴] 2012/07/24 Win7対応(?)。但しCtrlキーを押していると誤動作する。(Altキーは大丈夫かも?) 2010/01/06 新規 */ Main(); function Main() { var WshShell = new ActiveXObject("WScript.Shell"); var sSELFCALLID = "/CallByMyself"; // 誤実行防止用の識別子 var sMacroPath; if( typeof Editor != "undefined" ){ // サクラエディタからマクロ実行された。 sMacroPath = Editor.ExpandParameter("$M"); if( sMacroPath == "" ) return; // [名前を指定してマクロ実行...] の場合 // wscript で本ファイルを実行 WshShell.Run( 'wscript.exe "' + sMacroPath + '" ' + sSELFCALLID ); // フォント設定のダイアログ Editor.SelectFont(); }else{ // 本マクロから wscript で実行された。 var WshArgs = WScript.Arguments; if( (typeof WshArgs == "undefined")||(WshArgs.length == 0)||(WshArgs(0) != sSELFCALLID) ){ WScript.Echo( "このスクリプトはサクラエディタのマクロ用です。" ); return; } // 少し待つ WScript.Sleep( 20 ); // とりあえず20ms //2012/07/24 Win7では誤動作する。 // 例えばAlt+Tab はタスクスイッチャーの動作になってしまう。(WinXPではOKだった。) // おとなしく単純に Alt+S や Enter にする。但し Alt や Ctrl が押されているとうまく動作しない。 // // SendKeys() はModifierキーが押されているとうまく動作しない。 // // Modifierキーは最初から押下状態にした。 // // // %=ALT, ^=CTRL, +=SHIFT // // [サイズ(S)] にフォーカス移動 // WshShell.SendKeys( "%^+{TAB}%^+{TAB}%^+{TAB}%^+{TAB}" ); // Alt+Ctrl+Shift +Tab // // カーソル↓ // WshShell.SendKeys( "%^+{DOWN}" ); // Alt+Ctrl+Shift +DownArrow // // [OK] // WshShell.SendKeys( "%^+{ENTER}" ); // Alt+Ctrl+Shift +Enter // %=ALT, ^=CTRL, +=SHIFT // [サイズ(S)] にフォーカス移動 WshShell.SendKeys( "%s" ); // Alt +S // カーソル↓ WshShell.SendKeys( "{DOWN}" ); // DownArrow // [OK] WshShell.SendKeys( "{ENTER}" ); // Enter } }