Excel 当.send不起作用时,如何发送邮件?

Excel 当.send不起作用时,如何发送邮件?,excel,vba,email,outlook,Excel,Vba,Email,Outlook,我正试图通过VBA发送电子邮件 当.Send无法工作时,我发现Sendkeys方法可以工作,但必须显示电子邮件,然后您不能触摸计算机,否则可能会中断宏 如何使.Send方法工作 Dim OutApp As Object Dim OutMail As Object Dim count As Integer EmailTo = Worksheets("Email Addresses").Range("A2") Set OutApp = CreateObje

我正试图通过VBA发送电子邮件

当.Send无法工作时,我发现Sendkeys方法可以工作,但必须显示电子邮件,然后您不能触摸计算机,否则可能会中断宏

如何使.Send方法工作

    Dim OutApp As Object
    Dim OutMail As Object
    Dim count As Integer

    EmailTo = Worksheets("Email Addresses").Range("A2")

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItemFromTemplate( _
    Sheets("Start Here").Range("B25"))

    On Error Resume Next
    With OutMail

        .To = EmailTo
        '.CC = ""
        '.BCC = ""
        '.Subject = ""
        '.Body = ""
        '.Attachments.Ad' ActiveWorkbook.FullName
        ' You can add other files by uncommenting the following line.
        '.Attachments.Add ("C:\test.txt")
        ' In place of the following statement, you can use ".Display" to
        ' display the mail.
        '.Display
        'SendKeys "^{ENTER}" ' <---this was the fix I found when .Send didn't work
        .Send

    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
Dim OutApp作为对象
将邮件变暗为对象
将计数设置为整数
EmailTo=工作表(“电子邮件地址”)。范围(“A2”)
Set-OutApp=CreateObject(“Outlook.Application”)
Set-OutMail=OutApp.CreateItemFromTemplate(_
图纸(“此处开始”)。范围(“B25”))
出错时继续下一步
发邮件
.To=通过电子邮件发送至
'.CC=“”
'.BCC=“”
'.Subject=“”
'.Body=“”
“.Attachments.Ad”ActiveWorkbook.FullName
'您可以通过取消注释以下行来添加其他文件。
'.Attachments.Add(“C:\test.txt”)
'代替下面的语句,您可以使用“.Display”来
'显示邮件。
"展示,

“SendKeys”^{ENTER}“您的电子邮件安全设置很可能是导致问题的原因。在outlook中>>文件选项卡>>选项>>信任中心>>信任中心设置>>编程访问一小时前


根据IT部门的说法,按照@Sorceri的说法,您可能无法更改这些设置。例如,在我目前的工作中,我只能自动显示电子邮件,但不能通过代码发送。网络安全团队不会允许这样做斯科特·霍尔茨曼56分钟前

因此,似乎结论是SendKeys是最好的选择,因为我的it部门控制的安全设置已将我锁定在信任设置中的编程访问之外


感谢@Sorceri和@Scott Holtzman“当.Send不起作用时”-以何种方式,
发送
不起作用?删除“下一步继续执行错误时的
,查看产生了哪些错误-这可能有助于使其正常工作。您的电子邮件安全设置很可能是导致问题的原因。在outlook中>>文件选项卡>>选项>>信任中心>>信任中心设置>>编程访问。根据@Sorceri的说法,根据IT部门的说法,您可能无法更改这些设置,也可能无法更改。例如,在我目前的工作中,我只能自动显示电子邮件,但不能通过代码发送。网络安全团队不会允许的。谢谢大家,我的信任中心设置不能更改,所以这也一定是原因。非常感谢。怎么样
。显示
,然后
。发送