我创建了一个工具来自动通过电子邮件发送所需数据。
数据位于一张表中,位置和电子邮件地址位于第二张表中。
Private Sub CommandButton1_Click()
Dim EmailApp As Object
Set EmailApp = CreateObject("Outlook.Application") 'Object for Outlook
Dim NewEmailItem As Object
For r = 2 To
Worksheets("Receipant").Cells(Worksheets("Receipant").Rows.Count, Range("C2").Column).End(xlUp).Row
FltrCrit1 = Sheets("Receipant").Cells(r, 3)
Workbooks.Add
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & FltrCrit1 & ".xlsx"
Set wbNewWorkbook = Workbooks.Open(ThisWorkbook.Path & "\" & FltrCrit1 & ".xlsx")
ThisWorkbook.Activate
ThisWorkbook.Sheets("Data").Select
ActiveSheet.Range("$A$4:$p$" & ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row).AutoFilter Field:=1, Criteria1:=FltrCrit1
ActiveSheet.Range("$A$4:$p$" & ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
wbNewWorkbook.Activate
wbNewWorkbook.ActiveSheet.Paste
wbNewWorkbook.Save
wbNewWorkbook.Close
Set NewEmailItem = EmailApp.CreateItem(0) 'Object for mail within Outlook
NewEmailItem.To = Sheets("Receipant").Cells(r, 1)
在一些系统中
运行时错误'-2147417851 (80010105)':
自动化错误。
服务器抛出异常。
在第 20 行生成。
NewEmailItem.To = Sheets("Receipant").Cells(r, 1)
当我删除工作表引用并输入电子邮件地址文本时,它将执行。例如。
NewEmailItem.To = “[email protected]”
为什么少数用户在使用相同的操作系统和 Office 版本时会遇到错误?
尝试更换
NewEmailItem.To = Sheets("Receipant").Cells(r, 1)
与
NewEmailItem.To = Sheets("Receipant").Cells(r, 1).Text