利用Excel的宏批量打印信封_第1页
利用Excel的宏批量打印信封_第2页
利用Excel的宏批量打印信封_第3页
利用Excel的宏批量打印信封_第4页
利用Excel的宏批量打印信封_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用Excel的宏批量打印信封 Excel是一款功能强大的办公软件,而其强大的功能并不是都浮在表面上,需要我们在日常工作中不断地应用和挖掘,才能逐渐体会其博大精深之处。 在日常工作和生活中,书写信封是避免不了的,特别是文书部门,批量书写信封更是常有的事情,Excel可以帮助我们很好地完成这些琐碎的工作。 利用Excel批量打印信封大致可以分为四个步骤: 一、设置打印页面 进入Excel,新建一个工作簿,选定工作表“sheet1”。 第一步:定义打印页面大小 测量信封的实际长和宽; 在“文件”菜单下选择“页面设置”命令; 单击“选项”按钮,根据测量的实际尺寸自定义打印页面的大小。 第二步:在打印页面内制作打印面板 通过调整行高、列宽以及在“页面设置”命令中调整页边距的数值,使邮政编码打印在信封左上角的方框内,定义收件人地址、收件人名称和寄件人名称、地址、邮编的打印位置(如图1所示)。 图1 打印页面 注意事项: 邮政编码被分为六个单独的数字分别放在A1F1六个单元格中; 为了便于在打印过程中不断变换打印内容,将收件人地址、收件人名称和寄件人名称、地址、邮编分别放置在单元格A3、A4、H5、H6、H7中,为了保证收件人名称位于信封的居中位置,利用Excel的“合并及居中”功能,使单元格A4N4的格式为跨列居中。 二、输入打印内容 选定工作表“sheet2”,根据打印内容建立如下表格,为了与“sheet1”中邮政编码的格式保持一致,邮政编码同样被分为六个单独的数字分别放入AF六列的单元格中,并根据格式要求在表格中逐行输入待打印的内容,(如图2)。 图2 打印内容 三、建立宏 所建立的宏主要要做两个步骤的工作,一是将工作表“sheet2”中的内容逐行调入工作表“sheet1”的打印面板中;二是通过打印机将设定内容打印出来。宏的工作方式是调入一条内容打印一个信封,循环工作,直至将“sheet2”中的内容打印完毕。 根据上述分析,从“工具”菜单中选择“宏”命令,进入Visual Basic编辑器,编写一个名为“打印”的宏(此宏在实际工作中经过验证,运行正常),其代码如下: Sub 打印() Dim no1 As Integer Sheets(Sheet1).Select 进入打印页面 no1 = 1 no2 = InputBox(请输入打印内容行数:, 对话框, 1) If no2 = Then 如果在对话框中选择了取消按钮,则终止宏! Exit Sub End If Do While no1 = no2 Range(a1:f1).Value =Sheets(sheet2).Range(a + Trim(Str(no1 + 1) _ + : + f + Trim(Str(no1 + 1).Value 更新邮政编码 Range(a3).Value = Sheets(sheet2).Range _ (g + Trim(Str(no1 + 1).Value 更新收件人地址 Range(a4).Value = Sheets(sheet2).Range _ (h + Trim(Str(no1 + 1).Value 更新收件人名称 Range(h5).Value = Sheets(sheet2).Range _ (i + Trim(Str(no1 + 1).Value 更新寄件人名称 Range(h6).Value = Sheets(sheet2).Range _ (j + Trim(Str(no1 + 1).Value 更新寄件人地址 Range(h7).Value = Sheets(sheet2).Range _ (k + Trim(Str(no1 + 1).Value 更新寄件人邮编 ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, _ Collate:=True 打印输出 no1 = no1 + 1 MsgBox 请放入新的信封后按任意键继续!, 48, 暂停提示 Loop End Sub 注意事项: 在宏中引入了两个变量“no1”和“no2”,其中“no1”是一个计数器(no1始终小于等于no2),“no2”是通过对话框接收的一个数值,用户根据需要打印的信封个数(即工作表“sheet2”中打印内容的行数)输入这个数值,宏通过这个数值确定循环次数。 对于具有自动上纸功能的激光打印机和喷墨打印机,则可以删除起暂停作用的语句:MsgBox 请放入新的信封后按任意键继续!, 48, 暂停提示。 四、运行宏 运行宏一般可使用下列两种方式: 使用宏对话框运行宏使用宏对话框运行宏可分为三个步骤: 从工具菜单的宏选项中选择“宏”弹出宏对话框; 从宏名列表中选择“打印”(如图3); 用鼠标左键单击“执行”按钮。 这是运行宏最普通的方式,具有简单、直观、易于掌握的优点。 运用自定义工具栏按钮作为宏的载体。 运用自定义工具栏按钮作为宏的载体,可通过以下步骤来实现: 将鼠标指针指向任何显示的工具栏,单击右键,在出现的快捷菜单中选择“自定义”选项,弹出自定义窗口; 从自定义窗口中选择“命令”页面; 在命令页面的“类别”列表中选择“宏”,将“命令”列表中出现的自定义按钮拖曳到工具栏上; 用鼠标右键单击工具栏上的自定义按钮,从弹出的“指定宏”窗口列表中选择宏“打印”,最后单击“确定”按钮。 若要打印信封单击工具栏上的自定义按钮即可。 利用Excel批量打印信封,具有许多优点:有助于减轻工作人员的劳动强度;有助于提高工作质量,减少错误;一旦打印内容输入完毕可以反复利用,有助于提高工作效率;打印信封的批量越大越能显示其优越性。 实际上利用Excel可以完成所有具有固定打印面板的工作,比如批量打印聘书、打印奖状,批量打印明信片、打印工资表,批量打印养老统筹的个人帐户清单等等,运用上面的方法,只需稍加改动,即可完成许多工作,大家不妨试试。巧用宏快速合并200个Excel工作簿你会不会有大量Excel工作簿需要合并到一起呢?你可以手动完成这一工作,但这个工作可能会花费你一整天的时间。要完成合并工作,最好使用宏,这样只需花几分钟便可搞定。本文所介绍的技巧将向你说明如何创建这样一个宏,看看如何使用宏来节省你的宝贵时间。(本技巧可应用于Microsoft Excel 97、Excel 2000、Excel 2002、和Excel 2003。)在合并数个工作簿时遇到问题。工作簿总数约有200,保存在同一文件夹中,其中大多数工作簿中只包含一个单独的工作表,但有些工作簿包含多个工作表。这些工作簿中的工作表需要被添加到一个新的工作簿中。合并数量如此巨大的工作簿的最简单方法如果经常要这样做的话是使用宏。下面的宏会显示一个对话框,提示你选择要合并的文件。(你可以通过按下Ctrl键单击的方法选择多个工作簿。)它会使用代码在你所选的工作簿列表中循环,打开每个工作簿并将其中的工作表移动到工作簿的末尾。在将工作表添加到工作簿末尾的过程中,Excel会复制工作表的名称并自动根据检测结果附加(2)、(3)等数字编号。工作簿中与其他工作表相关的任何公式也会自动更新的新的名称。用Excel轻松套打带照片的准考证 文章来源:互联网 作者:向德海星期一刚上班,同事小张迎上来笑嘻嘻地说:“主任让你务必于今天上午将准考证打印出来,数据已录好了,照片已加入字段”。想起今年第11期F6版中国电脑教育报的一篇自己动手制作学生胸卡的文章,我想用VFP的报表功能实现带照片的准考证套打,应该是很轻松的事。打开小张递过来的数据盘,原来数据全部用Excel录入,照片作为其中的一个字段已放在单元格内(如图1),如果用VFP,还需将工作表转换成DBF格式,并将照片复制成一个个单独的图片文件,好几百人的照片,没有几天的功夫怕是完成不了任务的。还是在Excel上想想办法吧,看有没有捷径可走。通过探索,笔者终于将此问题解决了,现将方法介绍如下。1设计套打模板,建立数据关联图2是空白准考证样式,先用扫描仪将准考证扫描,并保持大小尺寸不变,然后将图片保存为JPG格式。打开Sheet2工作表,将刚才保存的图片插入表中,并将图片设定为非打印对象。执行“视图工具栏绘图”命令,在准考证需填充文本的部位插入矩形框。我们用VLOOKUP函数实现Sheet1工作表中数据与Sheet2表中准考证间的关联(照片填充部分除外)。首先将A21单元格作为查询的关键数值,在A20?G20单元格中分别输入序号、姓名、级别等字段。在B21单元格中输入公式“=IF(VLOOKUP(A21,Sheet1!A2:I1000,2)=0,VLOOKUP(A21,Sheet1!A2:I1000,2)”,在C21单元格中输入公式“=IF(VLOOKUP(A21,Sheet1!A2:I1000,6)=0,VLOOKUP(A21,Sheet1!A2:I1000,6)”,其他依此类推。这样就建立了准考证填充数据与Sheet1表间的关联。下一步就是要建立数据与准考证相应矩形框的关联,以准考证中姓名字段为例,鼠标单击该矩形框,在编辑栏右侧输入“=”符号,然后用鼠标点击需要填入数据的B21单元格,这样矩形框就和B21单元格中的数据建立了联系。只要单元格数据变化,则矩形框数据也跟着变化,其他依此类推。这样,只要在A21单元格输入序号值,那么Sheet1表中相应序号行的数据就会在准考证模板中自动生成。上述工作完成后,按“Shift”键选中所有矩形框,设置矩形框格式,包括字体、大小、对齐、颜色和线条等,特别是选中无填充色和无线条色。2定义名称,导入照片通过VLOOKUP函数虽然建立了工作表1和准考证的联系,但要在准考证中自动生成照片则需要用到比较复杂的函数,采取定义名称的办法。具体步骤如下:(1)定义名称:执行“插入名称定义”命令,打开如图3所示“定义名称”对话框,将名称定义为“A”,在“引用位置”文本框中输入公式“=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)”,按下确定按钮返回。该公式建立了查询数据的动态地址。接着用同样方法,再定义另一个名叫“X”的名称,里面包括公式“X=INDIRECT(ADDRESS(MATCH(Sheet2!$A$21,A,0),9,1,Sheet1)”,该公式表示当动态地址栏为Sheet2表中A21单元格数值时,返回Sheet1表中第9列即照片所在列单元格内容。(2)导入图片:选取sheet2工作表,执行“视图工具栏控件工具箱”命令,打开“控制工具箱”窗口。点击图像框或文字框按钮,在准考证需要填充照片的位置画出相同大小的图片框或文字框。选取文字框(图像框)后,将编辑栏中“=EMBED(Forms.TextBox.1,”改成“=X”,如图4,这样只要A21单元格数值变化时,照片框中相应的照片就会发生变化。3制作微调按钮,编写宏代码为操作更加方便,可以制作微调按钮调节序号值。执行“视图工具栏窗体”,打开窗体对话框,点击微调项标志按钮,建立微调按钮,右击按钮,打开“设置控件格式”对话框,并与B19单元格建立链接,按下确定按钮。选中A21单元格,在编辑栏中输入“=B19”,此时点击微调按钮,就可自动调节B19和A21单元格序号值,对应的数据就会在模板中自动生成,效果如图5。接下来就是打印了。执行“工具宏VisulBasic编辑器”命令,在VisulBasic编辑器中选择“插入添加模块”,在代码窗口输入以下代码:Sub打印()ActiveWindow.SelectedSheets.PrintOutCopies:=1,Collate:=TrueCalldyEndSubSubdy()Dima%,b$,c$,abc$a=Sheets(Sheet2).Cells(19,2).Valueb=Sheets(Sheet2).Cells(19,4).Value(说明:a即B19单元格,是图5中打印第页至第页中的起始页,b即D19单元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论