我是 VBA 的新手。但我用 SAS 编写了一些程序,用汇编程序(大型机和 PC)、Word Perfect(宏)编写了一些程序,用 Java、HTML 和其他东西编写了一些程序。我所做的是,当我遇到问题并且我认为我可以对其进行编程时,我会在互联网上查找代码并对其进行调整以满足我的需求。我读过一点VBA编程。我想做的是制作一个宏,用 PDFMAKER 保存一堆 Outlook 电子邮件。到目前为止,我已经想出了以下内容。当我执行程序时,pmkr2 被分配类型“ObjectPDFMaker”,stng 被分配类型“ISettings”。到目前为止,一切都很好。然后我尝试设置stng但无法做到。我收到错误“未找到方法或数据成员”。如果我去掉 Set 它突出显示 .ISettings,我会得到同样的错误。我进入 F2,AdobePDFMakerforOffice 库就在那里,ISettings 类也在那里,但我似乎无法设置 stng。我很沮丧。请帮忙。
Sub ConvertToPDFWithLinks()
Dim pmkr2 As Object
Set pmkr2 = Application.COMAddIns.Item(6).Object ' Assign object reference.
Dim pdfname As String
pdfname = "C:\stuff\stuff\tester.pdf"
Dim stng As AdobePDFMakerForOffice.ISettings
Set stng = AdobePDFMakerForOffice.ISettings
stng.AddBookmarks = True
stng.AddLinks = True
stng.AddTags = True
stng.ConvertAllPages = True
stng.CreateFootnoteLinks = True
stng.CreateXrefLinks = True
stng.OutputPDFFileName = pdfname
stng.PromptForPDFFilename = False
stng.ShouldShowProgressDialog = True
stng.ViewPDFFile = False
pmkr.GetCurrentConversionSettings stng
pmkr2.CreatePDFEx stng, 0
Set pmkr2 = Nothing ' Discontinue association.
End Sub
我稍微更新了你的代码。看看这是否有任何影响:
Sub ConvertToPDFWithLinks()
Dim pmkr2 As AdobePDFMakerForOffice.PDFMaker
'Set pmkr2 = Application.COMAddIns.Item(6).Object ' Assign object reference.
Set pmkr2 = Nothing
For Each a In Application.COMAddIns
If InStr(UCase(a.Description), "PDFMAKER") > 0 Then
Set pmkr2 = a.Object
Exit For
End If
Next
If pmkr2 Is Nothing Then
MsgBox "Cannot Find PDFMaker add-in", vbOKOnly, ""
Exit Sub
End If
Dim pdfname As String
pdfname = "C:\stuff\stuff\tester.pdf"
Dim stng As AdobePDFMakerForOffice.ISettings
pmkr2.GetCurrentConversionSettings stng
stng.AddBookmarks = True
stng.AddLinks = True
stng.AddTags = True
stng.ConvertAllPages = True
stng.CreateFootnoteLinks = True
stng.CreateXrefLinks = True
stng.OutputPDFFileName = pdfname
stng.PromptForPDFFilename = False
stng.ShouldShowProgressDialog = True
stng.ViewPDFFile = False
pmkr2.CreatePDFEx stng, 0
Set pmkr2 = Nothing ' Discontinue association.
End Sub
主要的变化在于如何获取 addin 以及如何创建 stng。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)