当编辑科技文档时,常常需要输入分数,但Word不能直接输入分数。有两种实现方法:用 Word本身提供的的EQ(方程)域或用公式编辑器。这两种方法都不简便,笔者编写了一个EnterFraction宏命令可以在文档中方便地插入分数,大大简化了分数的编辑工作。下面详细介绍如何在Word 97/2000/XP中创建该宏命令。
1.创建一个对话窗口
单击“工具”*“宏”*“Visual Basic 编辑器”,启动Visual Basic 编辑器。单击其菜单栏上的命令“插入”*“添加用户窗体”,添加一个空白用户窗体,在窗体上添加两个标签(Label)、两个文本编辑(TextBox)和两个命令按钮(CommandButton)控件,按下表修改它们的属性。
组件 |
属性 |
值 |
userform |
(命名) |
frmEnterFraction |
Caption |
输入分数 |
TextBox1 |
(命名) |
tbNumerator |
Caption |
分子表达式: |
TextBox2 |
(命名) |
tbDenominator |
Caption |
分母表达式: |
CommandButton1 |
(命名) |
btnOK |
Caption |
确定 |
CommandButton2 |
(命名) |
btnCancel |
Caption |
取消 |
然后单击命令按钮1(CommandButton1,btnOK),为其添加一段命令处理程序如下:
Private Sub btnOK_Click()
If tbNumerator.Text <> "" And tbDenominator.Text <> "" Then
fractionText = "EQ \F(" + tbNumerator.Text + "," + tbDenominator.Text + ")"
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
fractionText, PreserveFormatting:=False
End If
frmEnterFraction.Hide
End Sub
单击命令按钮2(CommandButton2,btnCancel),为其添加一段命令处理程序如下:
Private Sub btnCancel_Click()
frmEnterFraction.Hide
End Sub
最后给窗体的激活事件(UserForm_Activate)添加如下程序段:
Private Sub UserForm_Activate()
Load frmEnterFraction
End Sub
2. 创建调用该对话窗口的宏命令
单击Visual Basic编辑器菜单栏上的“插入”*“添加模块”命令,在代码编辑窗口输入如下程序段:
Sub EnterFraction()
frmEnterFraction.Show
End Sub
完成上述步骤后,保存整个工作,切换回Word,就可以使用该宏命令了。
3. 使用该宏命令
将插入点定位在需要插入分数的位置,单击“工具”*“宏”*“ 宏”,打开宏对话窗口,选择EnterFraction宏并运行之,弹出一个对话窗口(见图),分别在“分子表达式”和“分母表达式”编辑框中输入分数的分子和分母,单击“确定”按钮输入分数。使用该宏命令插入的分数域,在编辑过程中被当作一个单独的编辑单元对待,大大简化了排版的难度。例如: 。为了使用方便,你可以将该宏定义在工具栏上,使用时,只需单击相应工具按钮就可以打开对话窗口。