EXCEL VBA:打印到PDF文件之前,循环正在工作,但不刷新
大家早上好!
我有一个关于我的VBA代码的问题。 我真的只是想创build一个循环打印基于相同的背景模板(这是在表中AFFIDAVIT CREATOR)从INPUT工作表中取代一些4盒(标签和图像)的PDF文件。
到目前为止,循环工作正常。 唯一的问题:它根据给定的名称(variablesr)生成PDF文件,但在导出为PDF后刷新表单。 结果:具有不同名称的多个文件,但它们都显示相同的:(
有任何想法吗?
这是我的代码:
Private Sub TryMe() Dim r As Long Dim strCap As String Dim strCap2 As String r = 4 Do Until Sheets("INPUT").Cells(r, 3).Value = "" strCap = Sheets("INPUT").Cells(r, 3).Value Sheets("AFFIDAVIT CREATOR").Label1.Caption = strCap strCap2 = Sheets("INPUT").Cells(r, 5).Value Sheets("AFFIDAVIT CREATOR").Label2.Caption = strCap2 If Sheets("INPUT").Cells(r, 4) = "OE" Then Sheets("AFFIDAVIT CREATOR").Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\OE_Logo.jpg") Else Sheets("AFFIDAVIT CREATOR").Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\SF_Logo.jpg") End If If Sheets("INPUT").Cells(r, 6) = "OE" Then Sheets("AFFIDAVIT CREATOR").Image2.Picture = LoadPicture(ActiveWorkbook.Path & "\OE_Logo.jpg") Else Sheets("AFFIDAVIT CREATOR").Image2.Picture = LoadPicture(ActiveWorkbook.Path & "\SF_Logo.jpg") End If ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, From:=1, To:=1, FileName:=ThisWorkbook.Path & "\" & Sheets("INPUT").Cells(r, 3) & ".pdf" _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False Sheets("AFFIDAVIT CREATOR").Calculate r = r + 1 Loop End Sub
根据意见,如果Stop
工作的方式,你需要约。 3秒,让你的照片加载,你可以尝试使用一个wait workaround
,看起来如下:
Dim Start As Single Start = Timer 'wait 5 sec... Do While Start + 5 > Timer DoEvents Loop
在.ExportAsFixedFormat
之前添加代码。 上面我把等待时间设定为5秒。 你可以在一些testing后改变。