Excel 在检索电子邮件信息时进行明确的连接

Excel 在检索电子邮件信息时进行明确的连接,excel,vba,outlook,concatenation,Excel,Vba,Outlook,Concatenation,目的是检查各个工作表中的日期列表,然后将列出这些日期的电子邮件发送到工作表中的电子邮件地址 当前代码连接当前工作表中的日期以及上一工作表中的日期,而不仅仅是此工作表中的日期 我正在努力使它单音化,尝试在每个aCell指令前加上“ws.”,但出现编译错误 Sub-Mail_-Outlook() 将ws设置为工作表 将wsName作为变量 Dim OutApp作为对象 将邮件变暗为对象 暗淡单元格作为范围 像弦一样暗的链子 将string1设置为字符串 Dim aCell As系列 作为整数的Dim

目的是检查各个工作表中的日期列表,然后将列出这些日期的电子邮件发送到工作表中的电子邮件地址

当前代码连接当前工作表中的日期以及上一工作表中的日期,而不仅仅是此工作表中的日期

我正在努力使它单音化,尝试在每个aCell指令前加上“ws.”,但出现编译错误

Sub-Mail_-Outlook()
将ws设置为工作表
将wsName作为变量
Dim OutApp作为对象
将邮件变暗为对象
暗淡单元格作为范围
像弦一样暗的链子
将string1设置为字符串
Dim aCell As系列
作为整数的Dim i
i=0
对于数组中的每个wsName(“sheet1”、“sheet2”、“sheet3”)
设置ws=工作表(wsName)
'检索所有丢失的日期
对于ws.范围内的每个aCell(“Aa1:Aa1000”)
如果aCell.Value为“”,则
i=i+1
如果我是1那么
string1=string1&“,”和aCell.Value
其他的
string1=aCell.Value
如果结束
如果结束
下一个
'发送电子邮件
Set-OutApp=CreateObject(“Outlook.Application”)
Set-OutMail=OutApp.CreateItem(0)
strbody=“Good day”和ws.Range(“E3”).单元格和vbNewLine&vbNewLine&_
“”&vbNewLine&vbNewLine&_
“”&vbNewLine&vbNewLine&_
string1&vbNewLine&vbNewLine&vbNewLine&vbNewLine&vbNewLine&_
“(这是一条自动消息)”&vbNewLine&vbNewLine&_
“致以最良好的祝愿”&vbNewLine&vbNewLine&_
出错时继续下一步
发邮件
.To=ws.Range(“E5”).Text
.CC=“”
.BCC=“”
.Subject=“”
.车身=车身
'您可以添加这样的文件
'.Attachments.Add(“C:\test.txt”)
.Display'或use.Send
以
错误转到0
发送邮件=无
设置应用程序=无
下一个
端接头
根据OP的评论:

按原样编码不会产生错误,但例如,第二封电子邮件包含第一页和第二页的字符串,而不仅仅是第二页。

在进入循环的第二次迭代之前,将字符串归零

For Each wsName In Array("sheet1", "sheet2", "sheet3")

    Set ws = Worksheets(wsName)
    string1  = vbNullString    'reset string1 to a zero-length string for each ws

     'retrieve all missing dates
     For Each aCell In ws.Range("Aa1:Aa1000")
       'all the rest of the concatenation code
     next aCell

    'all the rest of the email code
Next wsName

在进入循环的第二次迭代之前,将字符串归零

For Each wsName In Array("sheet1", "sheet2", "sheet3")

    Set ws = Worksheets(wsName)
    string1  = vbNullString    'reset string1 to a zero-length string for each ws

     'retrieve all missing dates
     For Each aCell In ws.Range("Aa1:Aa1000")
       'all the rest of the concatenation code
     next aCell

    'all the rest of the email code
Next wsName

你得到的是哪一行的错误?行号?您拥有的
Next
是一个
Next aCell
。您需要一个
下一个wsname
。@Miguel-按原样编码不会产生错误,但例如,第二封电子邮件包含第一页和第二页的字符串,而不仅仅是第二页。@如果底部已经有下一封,它会正确地从每一页写入电子邮件,但问题如上所述。您得到的错误是哪一行?行号?您拥有的
Next
是一个
Next aCell
。您需要一个
下一个wsname
。@Miguel-按原样编码不会产生错误,但例如,第二封电子邮件包含第一页和第二页的字符串,而不仅仅是第二页。@如果底部已经有下一封,它会正确地从每一页写入电子邮件,但是问题是如上所述的。谢谢你,先生,这个解决方案对我有好处!非常感谢。谢谢你,先生,这个解决方案对我很有帮助!非常感谢。