Использование надстройки PDFMaker с Outlook VBA - PullRequest
0 голосов
/ 10 декабря 2018

Я использую надстройку Adobe PDFMaker с Outlook 2013.

Я использую библиотеку типов PDFMOutlook 1.0 Library, которая предоставляет класс PDFMaker.

Этот класс предоставляет методы CreatePDFFromEntryID и CreatePDF.

CreatePDFFromEntryID принимает в качестве параметров entryID, логическое значение, указывающее, является ли запись папкой, и выходной путь для файла.

Этот код будет генерировать базовый PDF-файл содержимого переданной папки.ID:

Sub BasicPDF(sFolderID As String, sFilename As String)
    Dim objPDFMaker As PDFMOUTLOOKLib.PDFMaker
    Dim i As Integer

    'Find PDFMaker addin
    For i = 1 To Application.COMAddIns.Count
        If InStr(UCase(Application.COMAddIns.Item(i).Description), "PDFMAKER") > 0 Then
            Set objPDFMaker = Application.COMAddIns.Item(i).Object
            Exit For
        End If
    Next i

    'If not found, show error message
    If objPDFMaker Is Nothing Then
        MsgBox "Cannot Find PDFMaker add-in", vbOKOnly, ""
        Exit Sub
    End If

    'Create PDF of contents of folder
    objPDFMaker.CreatePDFFromEntryID sFolderID, True, sFilename

    'Tidy up
    Set objPDFMaker = Nothing
End Sub

Я хотел бы создать портфолио PDF.

Используя метод CreatePDF, PDFMaker создает расширенный PDF элементов, выбранных в настоящее время в Проводнике.

CreatePDF принимает в качестве параметра «xmlConfigFile As String», но мне не удалось найти какую-либо документацию или примеры того, что должна содержать строка / файл XML.

Страницы Сохранение нескольких сообщений электронной почтыв PDF с PDFMAKER и Использование PDFMaker с MS Outlook являются наиболее близкими, что я нашел на StackOverflow, нооба они пытались использовать библиотеку «AdobePDFMakerForOffice» вместо «PDFMOutlook», и ни у одного из них не было рабочего решения.

У кого-нибудь есть пример передачи параметров в PDFMaker в виде строки XML?

Спасибо

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете преобразовать параметры в xml, используя следующий код:

Dim doc As MSXML2.DOMDocument60, pi
    Dim root As IXMLDOMElement, dataNode As IXMLDOMElement
    Dim i As Long

    For i = 2 To Sheets(1).UsedRange.Rows.Count

        Set doc = New MSXML2.DOMDocument60

        Set root = doc.createElement("list")
        doc.appendChild root

        Set dataNode = doc.createElement("data")
        root.appendChild dataNode

        AddAttributeWithValue dataNode, "name", Range("B" & i)
        AddAttributeWithValue dataNode, "lastname", Range("C" & i)
        AddAttributeWithValue dataNode, "age", Range("E" & i)

        Set pi = doc.createProcessingInstruction("xml", "version=""1.0""")
        doc.InsertBefore pi, doc.ChildNodes.Item(0)

        doc.Save "C:\_Stuff\xml\" & Range("B" & i).Value & ".xml"
    Next i

    MsgBox "Successfully exported Excel data to XML!", vbInformation

End Sub

Ссылка из:

Создание каждой строки данных Excel в файлы XML с использованием VBA Macro

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...