我想在Microsoft Word中自动执行print2PDF程序,以便与Dragon NaturallySpeaking一起使用。
我创建了这个宏,当用户打开文档并执行"打印到PDF"
时执行该宏Sub Main
'On Error GoTo errorHandler
Set wApp = GetObject(,"Word.Application")
If wApp.Documents.Count >= 1 Then
wApp.ActiveDocument.ExportAsFixedFormat OutputFileName :="tst1.pdf", _
ExportFormat := wdExportFormatPDF, _
UseISO19005_1 := True
Else
MsgBox "Kein Dokument geöffnet"
End If
Set wApp = Nothing
Exit Sub
errorHandler:
MsgBox "Ein Fehler ist aufgetreten. Kontaktieren Sie Helpdesk."
Set wApp = Nothing
End Sub
但是在执行时我总是得到错误80070057.我用Google搜索了错误代码并说出了#34;无效的争论",但我无法解释,因为我一直在遵循以下步骤这个MSDN链接:https://msdn.microsoft.com/de-de/VBA/Word-VBA/articles/document-exportasfixedformat-method-word到这封信。你知道我可以尝试通过错误吗?
我尝试过的解决方法: 使用SaveAs和SaveAs2也不起作用,他们总是忽略我要求的格式(wdFormatPDF)并将文档保存为docx。在某种程度上有效的唯一方法是将ActivePrinter设置为print2pdf然后使用PrinOut方法,但它给了我一个打印机对话框,我不想要。
答案 0 :(得分:1)
问题很可能是由于您使用命名参数的后期绑定(需要提前绑定)引起的。而不是:
wApp.ActiveDocument.ExportAsFixedFormat OutputFileName:=" tst1.pdf",_ ExportFormat:= wdExportFormatPDF,UseISO19005_1:= True
尝试:
wApp.ActiveDocument.ExportAsFixedFormat" tst1.pdf",17 ,,,,,,,,,,,,, True