0

下面的代码将 Outlook 文件夹中的所有项目作为 PDF 保存到我的桌面。一个缺陷,字符串中最后一封电子邮件的标题被截断。因此,当我发送 vottingOptions 时,PDF 会出现空白以供回复。有任何想法吗?谢谢你。

   Dim outApp As Object, objOutlook As Object, objFolder As Object, myItems As Object, myItem As Object
   Dim psName As String, pdfName As String

        Set outApp = CreateObject("Outlook.Application")
        Set objOutlook = outApp.GetNamespace("MAPI")
        Set objFolder = objOutlook.GetDefaultFolder(olFolderInbox).Folders("PDF Conversion")
        Set myItems = objFolder.Items
        FolderPath = "C:\Users\E086365\Desktop\Suz Macros\PDF Emails\"

   Dim objDoc As Object, objInspector As Object
        For Each myItem In myItems
             FileName = Replace(myItem.SenderName, ":", "") & " - " & Replace(myItem.Subject, ":", "") & " - " & Replace(Replace(myItem.ReceivedTime, ":", ""), "/", "-")
             Set objInspector = myItem.GetInspector
             Set objDoc = objInspector.WordEditor
             objDoc.ExportAsFixedFormat FolderPath & FileName & ".pdf", 17
             Set objInspector = Nothing
             Set objDoc = Nothing
    Next myItem

End Sub```
4

1 回答 1

0

Application首先,如果代码在 Outlook 中运行,则无需创建新的 Outlook实例。相反,使用内置Application属性:

Set objOutlook = Application.GetNamespace("MAPI")

在代码中,我还建议在针对值运行所有替换操作后检查文件路径字符串:

objDoc.ExportAsFixedFormat FolderPath & FileName & ".pdf", 17
于 2020-06-12T06:58:28.150 回答