excel怎么利用vba实现批量套打快递单批量打印单据?

2024-10-07 13:07:55网络知识悟空

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?

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

excel怎么利用vba实现批量套打快递单批量打印单据?

excel怎么利用vba实现批量套打快递单批量打印单据?

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

excel怎么利用vba实现批量套打快递单批量打印单据?

excel怎么利用vba实现批量套打快递单批量打印单据?

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

excel怎么利用vba实现批量套打快递单批量打印单据?

其他相关设置:

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

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?

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

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

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?

excel怎么利用vba实现批量套打快递单批量打印单据?

excel怎么利用vba实现批量套打快递单批量打印单据?

3、设置新的打印模板

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?

4、具体VBA编程如下,

复制内容到剪贴板

  1. Private Sub 打印全部数据_Click()
  2. config = vbYesNo + vbQuestion + vbDefaultButton1
  3. ans = MsgBox("你确认打印全部数据吗?", config, "如风达")
  4. If ans = vbYes Then
  5. Dim A&, B&, C&, D$, E$,R1&, C1&, R2&, C2&, R3&, C3&, R4&, C4&, SF$
  6. '当前工作表名
  7. SF = ActiveSheet.Name
  8. '打印明细的最后列,行
  9. R1 = Sheets("打印明细").UsedRange.Rows.Count
  10. C1 = Sheets("打印明细").UsedRange.Columns.Count
  11. '参数的最后列,行
  12. R2 = Sheets("参数").UsedRange.Rows.Count
  13. C2 = Sheets("参数").UsedRange.Columns.Count
  14. '更新打印位置对应列
  15. For B = 2 To R2
  16. Sheets("参数").Cells(B, 5) = ""
  17. For A = 1 To C1
  18. If Sheets("参数").Cells(B, 4).Text = Sheets("打印明细").Cells(1, A).Text Then
  19. Sheets("参数").Cells(B, 5) = A
  20. End If
  21. Next
  22. Next
  23. '查询指定订单的信息
  24. For R4 = 2 To R1
  25. For A = 2 To R2
  26. If Sheets("参数").Cells(A, 5).Text <> "" Then
  27. '生成明细列
  28. C4 = Sheets("参数").Cells(A, 5).Text
  29. '生成目标对应行列
  30. R3 = Sheets("参数").Cells(A, 2).Text
  31. C3 = Sheets("参数").Cells(A, 3).Text
  32. ActiveSheet.Cells(R3, C3).Value = Sheets("打印明细").Cells(R4, C4).Text
  33. End If
  34. Next
  35. ActiveSheet.PrintOut From:=1, To:=1
  36. Next
  37. MsgBox "打印完成!", vbInformation
  38. If ans = vbNo Then
  39. Exit Sub
  40. End If
  41. End If
  42. End Sub

发表评论: