excel怎么利用vba实现批量打印单据(VBA实现批量打印的思路

  excel vba 批量套打快递单,批量打印单据,可以自定义修改设置新的格式。

  快递套打模板2015: 点击下载

  1、设置快递单的自定义纸张。选择对应打印机-点击打印服务器属性-勾选创建新表单-输入表单名称-填写对应尺寸-点击保存表单(快递单的高度=1.27cm×边孔数量

  2、设置纸张规格。选择对应打印机-右键点击打印首选项-打开高级选项卡-纸张规格选择新增的自定义纸张

  3、设置进纸规格。选择对应打印机-右键点击属性-打开设备设置-进纸器选择新增的自定义纸张

  4、下载快递套打模板。测试打印根据实际的偏移情况进行调整设置,调整边距和缩放比例点击设置打印边距;

  其他相关设置:

  1、打印明细字段名修改方法

  1)修改【打印明细】字段名,也可以变化前后顺序,不需要的字段也可以删除。

  2)同步修改【参数】表内D列对应的名称。

  3)E列是自动更新不用更新

  2、新增调整修改打印字段位置方法

  1)在【参数】内A列添加或者修改字段名,自定义自己明白即可。

  2)在【参数】内B列添加此字段在【打印模板】对应行数。

  3)在【参数】内C列添加此字段在【打印模板】对应列数。

  4,在【参数】内D列添加此字段在【打印明细】对应表头字段名

  3、设置新的打印模板

  1)【打印模板】可以删除背景,添加新的快递单背景,或者设置需要打印的表单。

  2)设置完毕新的格式后设置新的打印区域。

  3)修改【参数】内各字段对应数据。

  4、具体VBA编程如下,

  复制内容到剪贴板

  Private Sub 打印全部数据_Click()

  config = vbYesNo + vbQuestion + vbDefaultButton1

  ans = MsgBox( "你确认打印全部数据吗?" , config, "如风达" )

  If ans = vbYes Then

  Dim A&, B&, C&, D$, E$,R1&, C1&, R2&, C2&, R3&, C3&, R4&, C4&, SF$

  '当前工作表名

  SF = ActiveSheet.Name

  ' 打印明细的最后列,行

  R1 = Sheets( "打印明细" ).UsedRange.Rows.Count

  C1 = Sheets( "打印明细" ).UsedRange.Columns.Count

  '参数的最后列,行

  R2 = Sheets("参数").UsedRange.Rows.Count

  C2 = Sheets("参数").UsedRange.Columns.Count

  ' 更新打印位置对应列

  For B = 2 To R2

  Sheets( "参数" ).Cells(B, 5) = ""

  For A = 1 To C1

  If Sheets( "参数" ).Cells(B, 4).Text = Sheets( "打印明细" ).Cells(1, A).Text Then

  Sheets( "参数" ).Cells(B, 5) = A

  End If

  Next

  Next

  '查询指定订单的信息

  For R4 = 2 To R1

  For A = 2 To R2

  If Sheets("参数").Cells(A, 5).Text <> "" Then

  ' 生成明细列

  C4 = Sheets( "参数" ).Cells(A, 5).Text

  '生成目标对应行列

  R3 = Sheets( "参数" ).Cells(A, 2).Text

  C3 = Sheets( "参数" ).Cells(A, 3).Text

  ActiveSheet.Cells(R3, C3).Value = Sheets( "打印明细" ).Cells(R4, C4).Text

  End If

  Next

  ActiveSheet.PrintOut From:=1, To:=1

  Next

  MsgBox "打印完成!" , vbInformation

  If ans = vbNo Then

  Exit Sub

  End If

  End If

  End Sub

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注