建立一个Excel文挡,命名为“合格证书打印”,在该文档中建立两个工作表,一个用来存放学生的基本信息,命名为“学生信息表”,另一个用来存放设计好的证书模板,命名为“打印格式”。学生信息表中包含学号、姓名、学院、专业、班级、年级等信息,学生相片以学生的学号为文件名存放在指定的文件夹中。通过VBA编程使学生信息自动填入打印格式模板的相应位置,实现带相片证书的批量打印功能。为了方便打印,系统提供了两种打印方式:按班级批量打印和按学号个别打印。具体设计步骤如下:
首先,建立打印窗体Hgzpr:该窗体及控件如图1所示。
图1 证书打印窗体
其次,在工作表“学生信息表”中添加一按钮,并给该按钮指定宏Hgzpr_show,该宏的代码如下:
Sub Hgzpr_show( )
Hgzpr.show
End
然后就是打印格式模板的设计。在工作表“打印格式”中,根据证书的样式设计好模板,并根据证书的大小在Excel的“页面设置”中设置好纸张的大小,上下左右边距,如图2所示。
图2 证书模板设计样式
程序的主要功能是要实现将学生的基本信息和相片填入打印格式模板的具体位置,并实现按班级批量打印合格证书。当然,为了提高程序运行的稳定性和健壮性,程序中也增加了一些控制功能,如对Excel文档及工作表是否存在的控制,学生相片是否存在的控制等。
其中,组合文本框及打印按钮代码如下:
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then
Cells.AutoFilter Field:=5, Criteria1:=ComboBox1.Value
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
End Sub
|