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

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第1张图片

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第2张图片

excel怎么利用vba实现批量套打快递单批量打印单据?_第3张图片

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第4张图片

excel怎么利用vba实现批量套打快递单批量打印单据?_第5张图片

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第6张图片

其他相关设置:

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

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第7张图片

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

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

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第8张图片

excel怎么利用vba实现批量套打快递单批量打印单据?_第9张图片

excel怎么利用vba实现批量套打快递单批量打印单据?_第10张图片

3、设置新的打印模板

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

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

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

excel怎么利用vba实现批量套打快递单批量打印单据?_第11张图片

4、具体VBA编程如下,

 

复制内容到剪贴板
  1. Private Sub 打印全部数据_Click()   
  2.   
  3. config = vbYesNo + vbQuestion + vbDefaultButton1   
  4.   
  5.  ans = MsgBox("你确认打印全部数据吗?", config, "如风达")   
  6.   
  7.     If ans = vbYes Then   
  8.   
  9.      Dim A&, B&, C&, D$, E$,R1&, C1&, R2&, C2&, R3&, C3&, R4&, C4&, SF$   
  10.   
  11.   '当前工作表名  
  12.  
  13.    SF = ActiveSheet.Name     
  14.  
  15.    '打印明细的最后列,行     
  16.   
  17.    R1 = Sheets("打印明细").UsedRange.Rows.Count     
  18.   
  19.    C1 = Sheets("打印明细").UsedRange.Columns.Count    
  20.   
  21.    '参数的最后列,行    
  22.  
  23.    R2 = Sheets("参数").UsedRange.Rows.Count   
  24.  
  25.    C2 = Sheets("参数").UsedRange.Columns.Count  
  26.  
  27.       '更新打印位置对应列   
  28.   
  29.      For B = 2 To R2   
  30.   
  31.        Sheets("参数").Cells(B, 5) = ""  
  32.   
  33.            For A = 1 To C1   
  34.   
  35.               If Sheets("参数").Cells(B, 4).Text = Sheets("打印明细").Cells(1, A).Text Then   
  36.   
  37.                Sheets("参数").Cells(B, 5) = A   
  38.   
  39.                End If   
  40.   
  41.            Next   
  42.   
  43.         Next         
  44.   
  45.    '查询指定订单的信息  
  46.  
  47.        For R4 = 2 To R1  
  48.  
  49.            For A = 2 To R2  
  50.  
  51.               If Sheets("参数").Cells(A, 5).Text <> "" Then  
  52.  
  53.               '生成明细列   
  54.   
  55.                C4 = Sheets("参数").Cells(A, 5).Text   
  56.   
  57.               '生成目标对应行列   
  58.   
  59.                R3 = Sheets("参数").Cells(A, 2).Text   
  60.   
  61.                C3 = Sheets("参数").Cells(A, 3).Text                     
  62.   
  63.                ActiveSheet.Cells(R3, C3).Value = Sheets("打印明细").Cells(R4, C4).Text                 
  64.   
  65.              End If   
  66.   
  67.            Next   
  68.   
  69.           ActiveSheet.PrintOut From:=1, To:=1            
  70.   
  71.         Next      
  72.   
  73.      MsgBox "打印完成!", vbInformation   
  74.   
  75.   If ans = vbNo Then   
  76.   
  77.   Exit Sub   
  78.   
  79. End If     
  80.   
  81. End If   
  82.   
  83. End Sub  

相关推荐:

excel表格怎么根据身份证号码批量填写籍贯?

Excel表格对指定内容进行批量替换操作的教程

你可能感兴趣的:(excel怎么利用vba实现批量套打快递单批量打印单据?)