ヘルプ > オーサリング > マクロレコーダー > マクロの例
  
マクロの例
さまざまな種類のマクロを説明する例を以下にいくつか挙げます。
コンテンツの強調
このマクロは、カーソルの直前の単語を選択し、強調タグ (ツールバーの「斜体」など) を追加して、カーソルを </emphasis> タグの後ろに移動します。
<macro name="MakeItalic">
<desc>Macro recorded 04/01/2004.</desc>
<script type="application/x-acl"><![CDATA[
WordLeftExtend;
Italic;
ElementEnd;]]>
</script>
</macro>
検索および置換
このマクロは、ある句が次に含まれる箇所を検出し、その句をテキストエンティティで置換します。
<macro name="SwitchToEntity">
<desc>Macro recorded 04/01/2004.</desc>
<script type="application/x-acl"><![CDATA[
#FindReplace;
find("Arbortext Editor", 0xb30);
insert_entity("&AE");]]>
</script>
</macro>
コンテンツへのマークアップの適用
このマクロは、ある句が次に含まれる箇所を検出し、その句をエレメントで囲みます。
<macro name="FixProductName">
<desc>Macro recorded 04/01/2004.</desc>
<script type="application/x-acl"><![CDATA[
#FindReplace;
find("Arbortext Editor", 0xb30);
insert_tag("productname");]]>
</script>
</macro>
索引付け
このマクロは以下のアクションを実行します。
1. 前の 2 つの単語を選択します。
2. 選択した単語を削除します。
3. indexterm エレメントを、primarysecondary の子とともに挿入します。
4. 最初の単語を primary エレメント内に貼り付けます。
5. 2 番目の単語を secondary エレメント内に貼り付けます。
<macro name="InsertIndexterm">
<desc>Macro recorded 04/01/2004.</desc>
<script type="application/x-acl"><![CDATA[
WordLeftExtend; repeat;
EditCut;
insert_tag("indexterm");
EditPaste;
WordLeftExtend;
EditCut;
ElementEnd;
insert_tag("secondary");
EditPaste;
ElementEnd; repeat;]]>
</script>
</macro>
JavaScript
JavaScript を使用して作成したマクロの例を以下に挙げます。
<macro name="JavaScriptMacro"
key="Alt+Ctrl+F1">
<desc>Test JavaScript macro.</desc>
<script type="application/x-javascript"><![CDATA[
Application.alert("Hello from JavaScript macro.");
]]></script>
</macro>
JScript
JScript を使用して作成したマクロの例を以下に挙げます。
<macro name="JScriptMacro">
<desc>Test JScript</desc>
<script type="application/x-jscript">
Application.alert("Hello from JScript Macro");
</script>
</macro>
VBScript
VBScript を使用して作成したマクロの例を以下に挙げます。
<macro name="VBScriptMacro">
<desc>Test VBScript</desc>
<script type="text/VBScript"><![CDATA[
Dim doc
set doc=Application.activeDocument
msg = "Hello from VBScript Macro for document " + doc.documentURI
Application.alert(msg)]]></script>
</macro>