我已经设法让 Excel 从备用帐户而不是我的主要帐户在 Outlook 中创建电子邮件。
麻烦的是,他们只是坐在第二个帐户的发件箱里,什么都不做。请注意,我可以手动从该帐户发送文件。
Dim MyOlApp As Object
Dim MyItem As Outlook.MailItem
Dim AttachName As String
Dim SendTo As String
Dim CCTo As String
Dim E, F, G As Integer
Dim Sys_Date As String
'Sys_Date = Format(Now(), "DD-MMM-YYYY")
F = Application.WorksheetFunction.CountA(Sheets("Sheet2").Range("A:A"))
'G = F
For E = 2 To F
Sheets("Sheet2").Select
AttachName = Cells(E, 2).Value
SendTo = Cells(E, 5).Value
CCTo = Cells(E, 6).Value
Set MyOlApp = CreateObject("Outlook.Application")
Set MyItem = MyOlApp.CreateItemFromTemplate("C:\localDocuments\2 - Reporting\1 - Guides + Sample Data etc\Email.oft")
MyItem.Display
On Error Resume Next
With MyItem
Set .SendUsingAccount = MyOlApp.Session.Accounts.Item(2)
.To = SendTo
.CC = CCTo
.BCC = ""
.Subject = "Action required: " & AttachName
'You can add other files also like this
.Attachments.Add ("C:\localDocuments\2 - Reporting\Reports\" & AttachName & ".xlsx")
.Display
.Send
End With
On Error GoTo 0
Set MyItem = Nothing
Set MyOlApp = Nothing
Next E
更新:
虽然我无法找到问题的实际原因。我设法找到了一个非常简单的解决方法。
我创建了一个新的 Outlook 配置文件,其中只有我们需要发送的备用帐户,它工作得很好。这非常有效,因为一旦运行了 3 小时报告,该代码每周只使用一次。
我可以看到它不适用于以这种方式定期(全天)发送电子邮件的人。
对于参考,您可以通过 WIN 8 搜索/邮件(按设置过滤)访问配置文件,选择邮件,然后查看配置文件。