首页 > 解决方案 > 如何将 PDF(同一工作簿中不同 Excel 工作表中的位置)附加到 Outlook 邮件?

问题描述

我正在尝试将共享驱动器中的 PDF 附加到由 Excel 中的 VBA 代码生成的许多 Outlook 电子邮件中。

一张表包含将创建电子邮件的所有电子邮件地址。

同一工作簿中的另一张工作表具有主题行、电子邮件正文文本和 PDF 位置等输入,可以根据大量电子邮件的内容进行更改。

虽然制作电子邮件主题和 htmlbody 的代码有效,但附件代码无效。

使用电子邮件数据行将 PDF 地址复制到活动工作表中的单元格,我可以附加 PDF。

当我将其视为输入工作表上的输入时,就会出现问题。

Sub Email_New_Patent_Case()

    Dim i As Integer
    Dim AttorneyCount As Long

    'Set the end of the range equal to the last row of attorney data in the sheet
    AttorneyCount = WorksheetFunction.CountA(Range("B2:B10"))

    For i = 1 To AttorneyCount
        If ActiveSheet.Cells(i + 1, 16) > 0 Then
            Dim objOutlook As Object
            Set objOutlook = CreateObject("Outlook.Application")

            Dim objEmail As Object
            Set objEmail = objOutlook.CreateItem(olMailItem)

            With objEmail
                .To = ActiveSheet.Cells(i + 1, 10).Value
                .CC = ""

                'Make sure this cell corresponds with the Subject Line
                .Subject = ActiveWorkbook.Worksheets("Inputs").Range("D3")

                'Make sure nickname has nickname or first name as value
                .HTMLBody = ActiveSheet.Cells(i + 1, 4).Value & ",<br><br>"

                'Make sure this cell corresponds with the Body
                .HTMLBody = .HTMLBody & ActiveWorkbook.Worksheets("Inputs").Range("D4") 

                'Make sure this cell corresponds with
                ' the desired attachment location on the shared drive
                .Attachments.Add ActiveWorkbook.Worksheets("Inputs").Range("D5") 

                .Save
            End With
        End If
    Next i

End Sub

我收到一条错误消息:

“对象不支持此属性或方法。”

标签: excelvbaoutlookattachment

解决方案


我正在尝试将共享驱动器中的 PDF 附加到许多 Outlook 电子邮件

.Attachments.Add ActiveWorkbook.Worksheets("Inputs").Range("D5") '确保此单元格与共享驱动器上所需的附件位置相对应

附件的来源可以是文件(由带有文件名的完整文件系统路径表示)或构成附件的 Outlook 项目。

因此,您需要先复制硬盘上的文件,然后通过本地文件路径附加它们。


推荐阅读