一、设计打印窗体
启动Word,执行“工具→宏→Visual Basic编辑器”命令,在弹出的代码窗口中,激活左侧的“工程资源管理器”窗口中的“Normal”对象,然后单击代码窗口菜单栏上的“插入”按钮,在下拉菜单中选择“用户窗体”命令,此时,编辑器为工程自动生成一个空白的窗体UserForm1,将该窗体的Captio性改为“缩放打印”(图1)。
2.添加控件
要实现图2的效果,需要添加2个标签控件、2个文字框和一个命令按钮。具体步骤如下:执行“视图→工具箱”命令,打开“工具箱”对话框,单击[标签]按钮,在图一所示的窗体编辑窗口上插入Label1控件,并将控件名称改成“缩放比例(长)”,用同样的方法,再依次插入Label2控件和1个命令按钮,将名称改为“缩放比例(高)”和“打印”。最后向窗体插入2个文字框,并且按图2的版式进行编排。
二、编写代码
在窗体编辑窗口中,双击新添加的“打印”按钮,进入“Visual Basic编辑器”,编辑该按钮的单击响应代码如下所示。
Private Sub CommandButton1_Click()
ActiveDocument.PrintOut _
printzoompaperwidth:= _
Val(TextBox1.Text) * (8.5 * 1440), _
printzoompaperheight:= _
Val(TextBox2.Text) * (11 * 1440)
UserForm1.Hide
End Sub
该代码显示了打印区域的大小变化。为了操作方便,我们还需编写一段宏代码来调用这个窗体。方法如下:在“Normal”对象下,插入模块1,在代码窗口中输入以下代码:
Sub show()
UserForm1.Show
End Sub
输入完成后,关闭VBA窗口,返回到Word编辑窗口。
三、将程序添加到菜单中
由于每次打印文档时,都要执行“工具→宏→宏”命令,在宏对话框中运行宏“show”,这样不是很方便,所以还需要将它添加到菜单中。
在Word文档编辑模式下,执行“工具→自定义”命令,打开“自定义”对话框,在“类别”下拉列表中选择“宏”(图3)。同时在右边的“命令”下拉列表中找到刚刚编写的宏,选中并按住鼠标左键,将它拖曳到菜单栏上。在添加的菜单命令上单击鼠标右键,在“命名”文本框中输入新名称“缩放打印”。最后关闭“自定义”对话框。
打印文档时,单击“缩放打印”按钮,系统弹出图2所示的窗体,输入缩放比例,点击“打印”按钮,文档就会按要求自动打印出来了。
小提示:在本例中,读者可以按照任意比例缩小并打印文档。由于文档允许扩大的最大数字为32767,我们在代码中已将纸张设置为:高11×1440、宽为8.5×1440,因此,将文档扩大打印时,会受一定比例限制。