Vba 如何将收件人分配给。收件人?

Vba 如何将收件人分配给。收件人?,vba,outlook,Vba,Outlook,我将工作表转换为PDF格式,并试图将该PDF格式通过电子邮件发送给我并复制给其他人。所有这些都将分配给操作按钮/触发器 Option Explicit Sub SendExcelFileAsPDF() Dim OutlookApp As Outlook.Application Dim emItem As Object Dim Receipt As String, Subject As String Dim Message As String, Fname As String Dim Rec

我将工作表转换为PDF格式,并试图将该PDF格式通过电子邮件发送给我并复制给其他人。所有这些都将分配给操作按钮/触发器

Option Explicit

Sub SendExcelFileAsPDF()

Dim OutlookApp As Outlook.Application
Dim emItem As Object
Dim Receipt As String, Subject As String
Dim Message As String, Fname As String

Dim Recipient As Outlook.Recipient
Recipient = "xxxxx.xxxxx@fedex.com"
Subject = "Weekly Critical Items" & " " & Range("L1")
Message = Range("D2") & Range("J2") & "Weekly Critical Items submitted" & 
Range("L1") & " " & "in PDF Format"
Message = Message & vbNewLine & vbNewLine & "Offload Ops"
Fname = Application.DefaultFilePath & "/" & ActiveWorkbook.Name & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fname

Set OutlookApp = New Outlook.Application

Set emItem = OutlookApp.CreateItem(olMailItem)
With emItem
    .To = Recipient = "xxxxx.xxxxx@fedex.com"
    .Subject = Subject
    .Body = Message
    .Attachements.Add Fname
    .Send
End With
Set OutlookApp = Nothing

End Sub
收件人行是我遇到问题的地方。当我运行调试器时,它会

运行时错误'91:未设置对象变量或带块变量


我会将收件人设置为字符串,并更新.to分配:

改变

Dim Recipient As Outlook.Recipient

.To = Recipient = "dennis.aikens@fedex.com"

这条线

.To=收件人=丹尼斯。aikens@fedex.com

应该是公正的


.To=Recipient

这是一个,我认为您可能需要在设置emittem后将其移动到,并使用emittem.Recipients.Add dennis…?我认为这一行应该是.To=Recipient,您不必写=。您可以澄清是哪一行导致了问题吗?我没有注意到@ImranMalek指出的最后一点,这也会出错。我不确定是不是我说的那个导致了你的错误…谢谢你的回复!行:收件人=丹尼斯。aikens@fedex.com正在导致错误。
Dim Recipient As string

.To = Recipient