利用Exel97的宏批量打印信封.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用Exel97的宏批量打印信封

利用Excel的宏批量打印信封?? ? Excel是一款功能强大的办公软件,而其强大的功能并不是都浮在表面上,需要我们在日常工作中不断地应用和挖掘,才能逐渐体会其博大精深之处。? ? 在日常工作和生活中,书写信封是避免不了的,特别是文书部门,批量书写信封更是常有的事情,Excel可以帮助我们很好地完成这些琐碎的工作。? ? 利用Excel批量打印信封大致可以分为四个步骤:? ? 一、设置打印页面? ? 进入Excel,新建一个工作簿,选定工作表“sheet1”。? ? 第一步:定义打印页面大小? ? ⒈测量信封的实际长和宽;? ? ⒉在“文件”菜单下选择“页面设置”命令;? ? ⒊单击“选项”按钮,根据测量的实际尺寸自定义打印页面的大小。? ? 第二步:在打印页面内制作打印面板? ? 通过调整行高、列宽以及在“页面设置”命令中调整页边距的数值,使邮政编码打印在信封左上角的方框内,定义收件人地址、收件人名称和寄件人名称、地址、邮编的打印位置(如图1所示)。? ? 图1 打印页面? ? 注意事项:? ? ⒈邮政编码被分为六个单独的数字分别放在A1~F1六个单元格中;? ? ⒉为了便于在打印过程中不断变换打印内容,将收件人地址、收件人名称和寄件人名称、地址、邮编分别放置在单元格A3、A4、H5、H6、H7中,为了保证收件人名称位于信封的居中位置,利用Excel的“合并及居中”功能,使单元格A4~N4的格式为跨列居中。? ? 二、输入打印内容? ? 选定工作表“sheet2”,根据打印内容建立如下表格,为了与“sheet1”中邮政编码的格式保持一致,邮政编码同样被分为六个单独的数字分别放入A~F六列的单元格中,并根据格式要求在表格中逐行输入待打印的内容,(如图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, 暂停

文档评论(0)

jiaoyuguanliji + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档