【问题标题】:Sending emails from Excel (2013) from an alternate (not main) Outlook (2013) account. (VBA)从备用(非主)Outlook (2013) 帐户从 Excel (2013) 发送电子邮件。 (VBA)
【发布时间】:2012-12-28 15:04:17
【问题描述】:

我已经设法让 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 SEARCH / MAIL(按设置过滤)访问配置文件,选择 MAIL,然后查看配置文件。

【问题讨论】:

  • 这可能与 Outlook 中的 Send/Recieve 功能有关。我怀疑.Send 仅指主帐户?这个link 可能会帮助您获得您需要运行的代码以发送它。这个有点猜想,希望有用。
  • 我稍后会看看。目前,我已经使用我需要发送的备用帐户设置了一个新的个人资料,并且它工作正常。

标签: vba excel outlook


【解决方案1】:

一个非常简单的修复。

我创建了一个新的 Outlook 配置文件,其中只有我们需要发送的备用帐户,它运行良好。

我承认,对于以这种方式定期(全天)发送电子邮件的人来说,这不是一个好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    相关资源
    最近更新 更多