#excel #vba
Вопрос:
Итак, я пытаюсь создать PDF-файл и поместить его в папку a, названную в честь ячейки E10, в которой находится папка B18. Я получаю «Блок ошибок компиляции, если без конца, если». Я попробовал оба оператора end и exit, но безуспешно.
Function Dispatch_PDF() As Boolean ' Copies sheets into new PDF file for e-mailing
Dim Thissheet As String, ThisFile As String, PathName As String
Dim SvAs As String
Dim Tmp As String
Dim FldName As String
' 1. Create the name you want to search for before starting the search
' 2. don't refer to cells by their range names (too cumbersome)
FldName = Cells(10, 5).Value ' actually, it's Cells(10, 5)
Debug.Print FldName ' check the name
If Len(FldName) Then
Tmp = Cells(18, 2).Value
If Len(Tmp) Then
FldName = Tmp amp; "" amp; FldName ' observe how to add the path separator
Debug.Print FldName ' check the name
FldName = ActiveWorkbook.path amp; "DISPATCHED WORK ORDERS" amp; FldName
Debug.Print FldName
Application.ScreenUpdating = False
' Get File Save Name
Thissheet = ActiveSheet.Name
ThisFile = ActiveWorkbook.Name
PathName = ActiveWorkbook.path
SvAs = PathName amp; "DISPATCHED WORK ORDERS" amp; FldName amp; Range("E10").Value amp; ".pdf"
'Set Print Quality
On Error Resume Next
ActiveSheet.PageSetup.PrintQuality = 600
Err.Clear
On Error GoTo 0
' Instruct user how to send
On Error GoTo RefLibError
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=SvAs, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
On Error GoTo 0
SaveOnly:
MsgBox "A copy of this sheet has been successfully saved as a .pdf file: " amp; Chr(13) amp; Chr(13) amp; SvAs amp; _
"Review the .pdf document. If the document does NOT look good, adjust your printing parameters, and try again."
Dispatch_PDF = True
GoTo EndMacro
RefLibError:
MsgBox "Unable to save as PDF. Reference library not found."
Dispatch_PDF = False
EndMacro:
End Function
Есть Какие-Нибудь Предложения?
Комментарии:
1. Тебе не хватает обоих
End If
терминаторов.2. Я уже пробовал это. и когда я добавляю конец «если», я получаю ссылку на библиотеку, которая не найдена.
3. В вашем коде нет ничего, что на самом деле проверяет наличие ссылки на библиотеку. Поэтому либо удалите эту строку кода, либо измените ее, чтобы она отражала то, что вы на самом деле проверяете, — значения в
E10
иB18
.4. Полностью устраните ошибку, и тогда вы получите более актуальную информацию. Он остановится на линии, которая выдает вам проблему, и выдаст вам собственные сообщения об ошибках, оба из которых будут ценной информацией.