Итак, у меня есть шаблон с поддержкой макросов Word 2010 с моими удобными формами денди, которые люди могут заполнить. Я создал кнопку, которая говорит «Преобразовать в PDF», потому что люди не знают, как это сделать изначально. Я ввел в редактор VB конкретного CommandButton, что хочу иметь эту функциональность. Вот что в этой кнопке:VB-скрипт для экспорта в pdf в Command Button (ActiveX) в Word 2010
Private Sub CommandButton1_Click()
Sub Convert_PDF()
Dim desktoploc As String
Dim filename As String
Dim mypath As String
desktoploc = CreateObject("WScript.Shell").SpecialFolders("Desktop")
filename = ThisDocument.Name
mypath = desktoploc & "\" & filename
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
mypath, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
End Sub
End Sub
Когда я запускаю код, я получаю ..... БАМ! Ошибка компиляции: Ожидаемая End Sub
Если я вынимаю Суб Convert_PDF() и его относящиеся End Sub, вдруг я не получаю сообщения об ошибках суб, но я получаю еще одно сообщение об ошибке:
The file [file name] cannot be opened beacause there are problems with the contents. Details: The file is corrupt and cannot be opened.
Заменить [имя файла ] с фактическим именем моего файла.
Я буду полностью честным, я полный n00b в VB и Google, оказывается, что не очень полезно до сих пор:/
Любое понимание?
Я думаю, вам нужно создать объект PDF. Когда я пытался сделать что-то подобное лет назад, у них не было свободных библиотек, чтобы помочь в этом. В качестве обходного пути (пока я не смогу увидеть, что я могу найти) вы можете печатать на PDF-принтер и иметь свой макро-вызов. – Jeff
@Jeff - Excel 2010 имеет встроенный save-as-PDF: нет необходимости в дополнительных библиотеках ... –
У вас есть два вложенных подсистемы - это недействительно VBA. –