大家好!EXCEL VBA:在打印到PDF文件之前,Loop正在工作但未刷新
我有一個關於我的VBA代碼的問題。我真的只是想創建一個循環,打印基於相同的背景模板(這是在名爲AFFIDAVIT CREATOR工作表)中的PDF替換4個盒子(標籤和圖像)。
到目前爲止,循環工作正常。唯一的問題: 它根據給定的名稱(變量r)生成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
你有什麼這行'Sheets(「AFFIDAVIT CREATOR」)。Calculate'和它爲什麼不在'.ExportAsFixedFormat ...'之前? –
它實際上是/是。我甚至做了一件幼稚的事情,並在代碼中複製粘貼了20次,並且它不起作用。打印完所有頁面後,它仍然令人耳目一新!甚至試過:如果表格(「AFFIDAVIT CREATOR」)。計算然後ActiveSheet.ExportAsFixedFormat類型:= xlTypePDF,從:= 1,到:= 1,文件名:= ThisWorkbook.Path&「\」&表(「INPUT」 ).Cells(r,3)&「.pdf」_,Quality:= xlQualityStandard,IncludeDocProperties:= True,IgnorePrintAreas _:= False,OpenAfterPublish:= False Else Sheets(「AFFIDAVIT CREATOR」)。Calculate End If' – YannickHelmut
I不知道它爲什麼會發生,但嘗試以下測試:B)在'.ExportAsFixedFormat'之前插入'Stop'來檢查圖片是否在幾秒後加載,如果是這樣,則通過在IDE中按F5進一步運行子進程。 B)如果你移動'.ExportAsFixedFormat'來分隔'Sub onlyExport()',並且在'Call onlyExport'這個相同的地方從當前的地方調用它,那麼怎麼辦? –