「アクティブなタブのマクロを実行する」の版間の差分

MSY-07 (トーク | 投稿記録)
<source>タグを<syntaxhighlight>タグに置き換え
MSY-07 (トーク | 投稿記録)
改行の除去
 
1行目: 1行目:
アクティブなタブを '''マクロとして実行''' します。[https://www.haijin-boys.com/discussions/4814]<br>
アクティブなタブを '''マクロとして実行''' します。[https://www.haijin-boys.com/discussions/4814]<br>
編集中のコードを編集中のタブ自身にたいして実行するものなので利用する機会はあまりないかとおもいますが、編集中のマクロのテストなどを想定しています。
編集中のコードを編集中のタブ自身にたいして実行するものなので利用する機会はあまりないかとおもいますが、編集中のマクロのテストなどを想定しています。
<br>
 
: ※アクティブなタブが未保存状態のばあいは実行しません。
: ※アクティブなタブが未保存状態のばあいは実行しません。
: ※拡張子をチェックしますので、TXT や HTML ファイルなどはマクロとして実行されません。
: ※拡張子をチェックしますので、TXT や HTML ファイルなどはマクロとして実行されません。
<br>


== このマクロを実行 ver.1 ==
== このマクロを実行 ver.1 ==
[マクロ] メニュー内のコマンド「これを選択(T)」と「実行(R)」によりアクティブなタブのコードを実行します。
[マクロ] メニュー内のコマンド「これを選択(T)」と「実行(R)」によりアクティブなタブのコードを実行します。
<br>
 
=== ソースコード ===
=== ソースコード ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
55行目: 54行目:
* <syntaxhighlight lang="javascript" inline>editor.ExecuteCommandByID( MEID_MACROS_RUN = 2171 );</syntaxhighlight> だと実行されないようなので、WSH のキーストーロークエミュレーションで「実行(R)」のショートカットキー <kbd>F4</kbd> を送信するようにしてあります。<br> <span style="color:#c00;">「実行(R)」のショートカットキーを変更している場合、このマクロは正しく機能しません。</span>
* <syntaxhighlight lang="javascript" inline>editor.ExecuteCommandByID( MEID_MACROS_RUN = 2171 );</syntaxhighlight> だと実行されないようなので、WSH のキーストーロークエミュレーションで「実行(R)」のショートカットキー <kbd>F4</kbd> を送信するようにしてあります。<br> <span style="color:#c00;">「実行(R)」のショートカットキーを変更している場合、このマクロは正しく機能しません。</span>
* 設定変数で列挙した拡張子が妥当かどうか分かりません…。<br> 実行条件は拡張子ではなく編集モードにしたほうがよいかも?
* 設定変数で列挙した拡張子が妥当かどうか分かりません…。<br> 実行条件は拡張子ではなく編集モードにしたほうがよいかも?
<br>


== このマクロを実行 ver.2 ==
== このマクロを実行 ver.2 ==
Mery.exe の [[ヘルプ:目次#コマンドラインオプション|コマンドラインオプション]] <syntaxhighlight lang="javascript" inline>Mery.exe /mf "MacroFileName"</syntaxhighlight> を利用してマクロを実行します。
Mery.exe の [[ヘルプ:目次#コマンドラインオプション|コマンドラインオプション]] <syntaxhighlight lang="javascript" inline>Mery.exe /mf "MacroFileName"</syntaxhighlight> を利用してマクロを実行します。
: ※「[[マクロメニュー]]」「[[コンパクトメニュー]]」マクロにも「このマクロを実行」コマンドを組み込んでいますが、「実行(R)」のショートカットキーを変更している場合に実行できない(テンキーパッド上のキーなど <syntaxhighlight lang="javascript" inline>wshSell.SendKeys()</syntaxhighlight> で送信できないキーパターンもありえる)こともありそうなので回避策として。
: ※「[[マクロメニュー]]」「[[コンパクトメニュー]]」マクロにも「このマクロを実行」コマンドを組み込んでいますが、「実行(R)」のショートカットキーを変更している場合に実行できない(テンキーパッド上のキーなど <syntaxhighlight lang="javascript" inline>wshSell.SendKeys()</syntaxhighlight> で送信できないキーパターンもありえる)こともありそうなので回避策として。
<br>
 
=== ソースコード ===
=== ソースコード ===
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
スポンサーリンク