|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 qiulonggui 于 2016-10-8 22:26 编辑
二维码批量打印时,比如打印10个,001、002、003、004、005、006、007、008、009、010。可以看到打印时的二维码是变化的,可是打印出来的二维码扫描出来都是001,大师们帮我看看,怎么修改下能处理这个问题。
另外,当B10(注:B10中是来自第三方的数据)的值等于1的时候,就会执行自动打印。由于B10单元格中的值有是公式,循环给G6来赋值。这样有个问题,B10中的值为1的时间长短会导致有时多打,有时漏打。有没有其他好的方法来实现。
下面附上代码:
Sub 生成二维码()
Dim QRString As String
QRString = Sheet2.Range("a8") & Sheet2.Range("D8")
Sheet2.Select
Sheet2.QRmaker1.AutoRedraw = ArOn
Sheet2.QRmaker1.InputData = QRString
Sheet2.QRmaker1.AutoRedraw = ArOn
Sheet2.QRmaker1.Refresh
End Sub
Sub 打印二维码()
'Application.ScreenUpdating = False '关闭屏幕刷新
Dim X As Integer
For X = Range("g2") To Range("g3")
Sheet2.Range("D8") = Sheet1.Range("b" & X)
Call 生成二维码
Application.ScreenUpdating = True
With ActiveSheet.PageSetup
End With
ActiveSheet.PrintOut Copies:=1, Collate:=True
Application.Wait (Now + TimeValue("0:00:03"))
Next
End Sub
Sub Macro1()
Dim NewTime As Date
NewTime = Now + TimeValue("00:00:05")
Application.OnTime NewTime, "Macro2"
End Sub
Sub Macro2()
Sheet2.Range("G6").Value = Sheet2.Range("B10").Value
Call Macro1
End Sub
Private Sub Workbook_open()
Application.Wait (Now + TimeValue("0:00:05"))
Call Macro1
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
c = Target.Column
n = Target.Value
If r = 6 And c = 7 And n = 1 Then
Call 打印二维码
End If
End Sub
Private Sub QRmaker1_GotFocus()
End Sub
附上EXCEL和二维码插件,打开EXCEL时提示更新新链接时选否。
请高手问帮我看看优化优化,谢谢!
|
|