巧用VBA编程实现EXCEL电子表格的批量自动打印.docx
《巧用VBA编程实现EXCEL电子表格的批量自动打印.docx》由会员分享,可在线阅读,更多相关《巧用VBA编程实现EXCEL电子表格的批量自动打印.docx(13页珍藏版)》请在三一文库上搜索。
1、巧用VBA编程实现EXCEL证件的批量打印夏教荣 陈文涛(湖南省邵阳县白仓镇中学 421114)摘要 介绍了在EXCEL中如何使用VBA,通过实例论述了在EXCEL中可以通过VBA编程实现含有照片的电子证件或表格批量自动打印,提高了EXCEL在实际应用中的工作效率及节省人力资源。关键词 VBA编程 自动打印 EXCEL一VBA简介1、什么是VBA? VBA是Visual Basic For Application的缩写,它是以Visual Basic为发展基础的语言。在Office软件中,VBA应用程序能够在Word、Access、Excel等之间进行交互式应用,加强了应用程序间的互动。 VB
2、A是VB的应用程序版本,可以理解为“寄生在Office办公软件中的VB”,可以看作是VB语言的一个子集。 VBA使Office形成了独立的编程环境。2、VBA与Visual Basic的关系 1)、VB用于开发Windows应用程序,其代码最终被编译为可执行程序。而VBA是用于控制已有应用程序的自动化操作,其代码为解释。 2)、VB拥有独立的开发环境,而VBA必须集成在已有的应用程序中(Excel等)。 3)、VB开发出来的应用程序在脱离开发环境后仍能执行,而VBA编写出来的程序必须在访问集成应用程序(Excel等)的基础上进行。 尽管有以上不同,但它们仍然非常相似。都使用相同的语言结构。两者
3、的程序的语法及程序流程完全一样。二、在Excel中使用VBA1、进入VBA的方法 下面以Office2010为例说明来进入VBA的方法:功能区中有一个“开发工具”选项卡,在此可以访问 Visual Basic 编辑器和其他开发人员工具。由于 Office 2010 在默认情况下不显示“开发工具”选项卡,因此必须使用以下过程启用该选项卡:1) 、在“文件”选项卡上,选择“选项”打开“Excel 选项”对话框。2) 、单击该对话框左侧的“自定义功能区”。3) 、在该对话框左侧的“从下列位置选择命令”下,选择“常用命令”。4)、在该对话框右侧的“自定义功能区”下,选择“主选项卡”,然后选中“开发工具
4、”复选框。5) 、单击“确定”。在 Excel 显示“开发工具”选项卡之后,注意选项卡上“Visual Basic”、“宏”和“宏安全性”按钮的位置。图 1. Excel 2010 中的“开发工具”选项卡 启用“开发工具”选项卡后,可以轻松找到“Visual Basic”和“宏”按钮。2、安全问题单击“宏安全性”按钮可以指定哪些宏可以运行并需满足哪些条件。尽管未授权宏代码可能会严重损害计算机,但阻止您运行有帮助的宏的安全条件会严重妨碍您的工作效率。宏安全性是一个复杂而又涉及广泛的话题,您应研究并了解是否应使用 Excel 宏。在本文中,请注意,如果当您打开一个包含宏的工作簿时,在功能区和工作表
5、之间出现“安全警告: 宏已被禁用”条,则可单击“启用内容”按钮来启用宏。此外,作为一种安全措施,您不能以默认的 Excel 文件格式 (.xlsx) 保存宏;而必须将宏保存在具有一个特殊扩展名 .xlsm 的文件中。 三、用VBA制作证件批量打印的实例下面通过制作一张学员培训券来说明VBA在Excel中如何实现自动批量打印多张含有照片的培训券。1、准备工作1) 、设计建立基本人员信息表在Excel表格中建立如下图2基本信息资料,具体建立过程在这里不再详述,我建立的表比较多,实际这里要用到的表格只有两张,所以其他的表格我就没有必要说了。图2学员基本信息表(学员花名册(计算机操作员)2)、设计建立
6、打印证件或报表格式见图3图3培训券格式及内容2、使用VBA编程实现两个工作表链接打印操作1) 、两张表格设置完成后,回到培训券(计算机操作员)工作表即sheet7,点击开发工具标签栏Visual basic,(或按ALT+F11快捷键),双击你所要打印证件的工作项目,即可进入VBA编程状态输入代码。如图4所示图4代码窗口全部代码如下:宏功能:把光标处的人员信息填充到培训券(计算机操作员)工作表,并培训券(计算机操作员)用法:1.把光标定位到需要培训券(计算机操作员)的人员行的单元格 2.执行本宏。Sub subSetPringInfo()On Error Resume Next Dim oCe
7、ll1, oCell2, 定义二变量Dim cfz2, cfz3, cfz4, cfz5, cfz6, cfz7, cfz8, cfz9Dim cfz10, cfz11, cfz12, cfz13, cfz14, cfz15, cfz16, cfz17, cfz18 定义身份证取第二位数的内存变量为cfz2,取第三位数的内存变量为cfz3,以此类推到第十八位身份证内存变量为cfz18.(身份证取第一位的内存变量为oCell2,不需要重新定义)Dim FileType As String Dim iPXJH As Long 编号 Dim iRow As Long 正在培训券(计算机操作员)人员的
8、行号 Dim strSheet As String 人员信息的工作表名称strSheet = 学员花名册(计算机操作员) 人员基本信息在学员花名册(计算机操作员)工作表中,此处可以修改 检查是否在人员基本信息工作表中执行此功能,如果是,则显示不能在此工作表中执行。 If ActiveSheet.Name strSheet Then 不是在人员信息工作表中则弹出对话框。 MsgBox 请在人员基本信息工作表中执行此功能 Exit Sub End If Do 循环开始 iRow = Selection.Row 行号,从当前选定的行开始培训券(计算机操作员) 读当前培训券(计算机操作员)行的左边第一
9、单元格内容 :序号 Set oCell1 = Worksheets(strSheet).Cells(iRow, 11) 序号是数字的行需要培训券(计算机操作员)即所对应培训券号行所在的单元格 iPXJH = Val(oCell1.Value) 培训券号 If iPXJH = 10070893 Then 在培训券号内的数字 Set oCell2 = Worksheets(培训券(计算机操作员)).Cells(5, 8) oCell2.Value = iPXJH 姓名 Set oCell1 = Worksheets(strSheet).Cells(iRow, 2) Set oCell2 = Wor
10、ksheets(培训券(计算机操作员)).Cells(6, 8) oCell2.Value = oCell1.Value 插入图片 FileType = InputBox(输入你的图片的后缀名, 输入图片格式, jpg) Numb = oCell2.Value Sheet7.Select 改变当前的工作表为sheet7即培训券(计算机操作员) With ActiveSheet .Pictures.Insert(D:pic & Numb & . & FileType).Select图片所在的路径为:D:pic,此路径可以根据具体情况更改 Set Target = Worksheets(培训券(计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 巧用 VBA 编程 实现 EXCEL 电子表格 批量 自动 打印
链接地址:https://www.31doc.com/p-8998106.html