Word中的一个简单而实用的宏(用它可方便地编排数学公式和上下标)
Author: 北京 凌斌 Date: 1995-03-31
本人在实际工作中编写了一个简单而又实用的宏,命名为REP,在编排带上标或下标的变量、有特殊符号的数学公式和化学式中使用它可节省很多时间。比如在一篇文章中多次出现方程式:X-Y2+Z3=B,在录入文章时,先用简单的字符如xyzb代替该方程式,文章录入完毕后,只要用公式编辑器(Equation Editor)编辑好一个方程式:X=Y2+Z3=B,并将之剪切(EditCut)送到剪切板(Clipboard)上,然后运行宏REP(Alt+OM,选定REP宏,选择“运行”),这时在屏幕中央将出现一对话框,提示要输入要替换的字符串,这里输入“xyzb”,按确定钮后将自动进行搜索和替换,完成后出现一信息框,提示已经完成,并在屏幕下方的状态栏上显示共有多少处被替换。按确定钮后,光标回到文件开始处。文章中所有的字符串“xyzb”都被替换成X=Y2+Z3=B。对于带上标或下标的变量、有特殊符号的数学公式和化学式的方法相同。只要利用宏编辑器将文章后所附的REP宏清单输入即可使用。使用REP宏有两个前提条件:第一要确保“调整Word for Windows一般设置”(Alt+OO,在分类栏内选择“一般”)中的选项“用输入替换选定内容”为选中状态;第二在运行宏之前要确保剪切板中的内容为您所需要的已经编排好的带上标或下标的变量、有特殊符号的数学公式或化学式。
[附]宏REP源程序清单如下:('后为注释)
Sub MAIN
Count=0 '替换次数计数置零
StartOfDocument '从文件首开始
Search$=InputBox$("输入要替换的字符串?") '提示输入,并赋给Search$
EditFind.Find=Search$,MatchByte=1,MatchCase=1,Direction=2,Format=0 '搜索字符串Search$,区分大小写,向文件后,忽略文本格式
EditPaste '粘贴
While EditFindFound() '如果未到文件尾,继续搜索
Count=Count+1 '计数加1
EditFind.Find=Search$,.MatchByte=1,.MatchCase=1,.Direction=2,.Format=0
EditPaste
Wend '搜索完后结束循环
Beep '扬声器发声,提示结束
Print "共有";Count;"处的字符串被替换。" '显示更换的次数
MsgBox "替换完毕!","A Replace Macro",48 '运行结束信息框
StartOfDocument 回到文件首
End Sub
(北京 凌斌)