Возникли проблемы с Excel Печать одного и того же PDF снова и снова. Это прекрасно работает без Application.ScreenUpdating = False и Application.Calculation = xlCalculationManual вместе, но если я использую их для ускорения значений, PDF-файл начинает печатать одно и то же снова и снова. Когда я прошел через формулу, она печатается правильно. Не уверен, есть ли проблема несоответствия скорости или что идет не так.
Значения сохраняются в массиве varPrintUnits (0, i) и затем перемещаются в ячейку в модели Excel, которая обновляет местоположение. Таким образом, на каждой итерации вводится новое местоположение, и значения обновляются, после чего создается файл PDF.
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
varSheet = "SCQuality"
'look through each unit and print a pdf
For i = 2 To lastrow
'stop if getting blanks, no more units
If varPrintUnits(3, i) = "Unit" Or varPrintUnits(3, i) = "Division" Or varPrintUnits(3, i) = "" Then
GoTo SKIPME1
End
End If
'if the code creates pdfs that contain the same data, chances are Worksheets(varSheet).Cells(2, 37).
'print the PDF
If varPrintUnits(4, i) = 1 Then
'If varPrintUnits(1, i) = "NY" Then
Worksheets(varSheet).Cells(2, 37).Value = varPrintUnits(0, i) 'UnitReportingID
Worksheets(varSheet).Calculate
varFileName = varPrintUnits(2, i) & "-" & varPrintUnits(3, i) & "-" & varPrintUnits(1, i) & "-Q" 'campus, unit, display unit
Call printPDF(varFileName, varQualityDirectory, varSheet)
End If
SKIPME1:
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End sub
----------------------------------------------------
Sub printPDF(varFileName, varFilePath, varSheet)
On Error GoTo error_step
Dim fp As String
Dim ws As Worksheet
fp = varFilePath & Replace(varFileName, "/", "_") & ".pdf"
Set ws = Worksheets(varSheet)
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=fp, _
quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
error_step:
Exit Sub
GoTo exit_handle
exit_handle:
End Sub
-------------------------------------------------