有人可以帮我吗?我还是比较新的,我无法让它发挥作用。我想:
显示电子邮件中一系列单元格中的数据。我在网上发现这个代码让我开始,但它是用于文本框:
Sub Sample()
'Setting up the Excel variables.
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
'Create the Outlook application and the empty email.
Set olApp = CreateObject("Outlook.Application")
Set olMailItm = olApp.CreateItem(0)
'Using the email, add multiple recipients, using a list of addresses in column A.
With olMailItm
SDest = ""
For iCounter = 1 To WorksheetFunction.CountA(Columns(1))
If SDest = "" Then
SDest = Cells(iCounter, 1).Value
Else
SDest = SDest & ";" & Cells(iCounter, 1).Value
End If
Next iCounter
'Do additional formatting on the BCC and Subject lines, add the body text from the spreadsheet, and send.
.BCC = SDest
.Subject = "FYI"
.Body = ActiveSheet.TextBoxes(1).Text
.Send
End With
'Clean up the Outlook application.
Set olMailItm = Nothing
Set olApp = Nothing
End Sub
一切正常,除了它只用于一个文本框,我在单元格中有列表和whatsits,我也需要发送。我尝试使用的代码是:
.body = Activesheet.range("B1:E1").Value
而不是:
.body = ActiveSheet.TextBoxes(1).Text
但这只是发送一封空白电子邮件。有什么建议吗?
答案 0 :(得分:1)
双转换范围并使用Join()
方法:
.Body = Join$(WorksheetFunction.Transpose(WorksheetFunction.Transpose(Range("B1:E1").Value)), vbTab)
这会将范围转换为单维数组,然后可以使用Join()
方法将其与给定分隔符连接。