帮助 > 创作 > 宏记录器 > 宏示例
  
宏示例
以下是几个介绍不同类型的宏的示例。
强调内容
此宏选择光标之前的词语,添加一个强调标记 (例如,工具栏上的斜体),然后将光标移到 </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. 删除所选词语。
3. 插入具有 primarysecondary 子元素的 indexterm 元素。
4. 将第一个词语粘贴到 primary 元素中。
5. 将第二个词语粘贴到 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>