【发布时间】:2021-06-30 06:43:08
【问题描述】:
我正在尝试在 Excel 中构建一个宏来发送包含活动行内容的电子邮件(例如,单击一行,选择其所有内容)。
我需要从该行的单元格中获取电子邮件地址,并将其分配给电子邮件收件人字段。
主题字段应该有一个标题,并在其末尾添加来自所选行的单元格的数据。
在正文中,我需要包含所选行的内容。
在每个选定单元格的内容之前,我需要输入一个标题。
我可以直接通过 Excel 发送电子邮件,还是可以通过打开 Outlook 并使用宏准备好所有数据来发送电子邮件?
这是电子表格中显示的内容:
FirstName LastName PhoneNumber
Dan Daniels 123
Jim Jameson 321
如果第二行是选定的行,则电子邮件应如下所示:
To: email@email.com
Subject: Random text - Dan Daniels
Body:
Hello,
FirstName: Dan
LastName: Daniels
PhoneNumber: 123
这是我修改的代码,编译错误:
Sub SendMail()
Dim OutlookApp As Object: Set OutlookApp = CreateObject("Outlook.Application")
Dim var As Variant: var = Selection.Value
Set MyMail = OutlookApp.CreateItem(0)
With MyMail
.To = var(1, 35)
.Subject = "Email for Random Text Text Text Here -" & " " & var(1, 17) & " " & var(1, 18)
.body = "This is an email informing you that random text aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & vbNewLine & vbNewLine & "Created by: " & var(1, 4) & vbNewLine & "Date Information Posted: " & var(1, 6) & vbNewLine & "Random Data One Showing: " & var(1, 28) & vbNewLine & "Another Random Data: " & var(1, 29) & vbNewLine & "Requester Random First Name: " & var(1, 13) & vbNewLine & "Requester Random Last Name: " & var(1, 14) & vbNewLine & "Requester Random Here E-mail: " & var(1, 15) & vbNewLine & "Requester Random Phone Number: " & var(1, 16) & vbNewLine & "Person's Random First Name: " & var(1, 17) & vbNewLine & "Person's Random Last Name: " & var(1, 18) & vbNewLine & "Person's Random Location: " & var(1, 21) & vbNewLine & "Person's Random Occupation: " & var(1, 22) & vbNewLine & "Person's Random Hometown: " & var(1, 23) & vbNewLine & "Where he is located: " & var(1, 24) & vbNewLine & "PErson's Email Address: " & var(1, 19) & vbNewLine & "Number of items requested: " & var(1, 8) & vbNewLine & "Requested Items Number: " & var(1, 31) & vbNewLine & "Name of Item: " & var(1, 22) & vbNewLine & vbNewLine & "This is a random text I need to add at the end of the mail, text being quite looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog random text random text random text random text random text random text"
End With
MyMail.send
End Sub
列中的数据是简单的字符、姓名、数字或电子邮件地址。我有 35 列,但只需要上面的列。
【问题讨论】: