【问题标题】:Use PDFMaker with MS Outlook将 PDFMaker 与 MS Outlook 一起使用
【发布时间】:2018-07-18 11:39:11
【问题描述】:

我想在 MS Outlook 2013 中使用 Adob​​e PDFMaker 插件。

Saving multiple e-mails to pdf with PDFMAKER

我已经看过这篇文章并尝试了代码,但我在该行收到运行时错误 13(类型不匹配)

Set pmkr2 = a.Object

似乎来自 a.Object 的对象不是 PDFMaker 对象。 See this picture 我正在使用 Adob​​e Acrobat DC 18.2816。 这是我的全部代码:

    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

如果有人能帮助我,那就太好了,提前谢谢你!

【问题讨论】:

  • “对象”似乎不正确Set pmkr2 = a
  • 感谢您的帮助,但我仍然遇到同样的错误。对象的类型仍然不匹配,pmkr2 是 PDFMaker 类型,a 是 Variant/Object/COMAddin 类型

标签: vba pdf outlook


【解决方案1】:

尽量在声明中不那么具体。

Sub getAnObject()

    Dim pmkr2 As Object
    Dim a As Object
    Dim srchString As String

    srchString = "PDFMAKER"

    Set pmkr2 = Nothing

    For Each a In Application.COMAddIns

        Debug.Print "a.Description: " & a.Description

        If InStr(UCase(a.Description), srchString) > 0 Then

            If MsgBox("Is this what you want? " & vbCr & vbCr & a.Description, vbYesNo + vbQuestion) = vbYes Then
                Set pmkr2 = a
                Exit For
            End If

        End If

    Next

    If pmkr2 Is Nothing Then
        Debug.Print "Cannot find the object using search string " & srchString
    Else
        Debug.Print "Object found: " & pmkr2.Description
    End If

    Set pmkr2 = Nothing ' Discontinue association.

End Sub

【讨论】:

  • 还是不行!直到今天我才能对其进行测试,但现在我对其进行了测试,并且在 pmkr2.GetCurrentConversionSettings stng 行出现运行时错误 438(对象不支持此属性或方法)
  • 运行时错误 13(类型不匹配)在没有该插件的情况下是我所能做到的。您可以尝试一个描述当前不同问题的新问题。
猜你喜欢
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多