使用VBA在Outlook不可用时从Excel发送电子邮件
当下属在Excel工作表中进行任何更新时,我想向利益相关者发送一封电子邮件。我希望使用Workbook_BeforeSave事件,从下属的Outlook帐户触发电子邮件 下级/用户需要在其系统中配置/安装Outlook。如果没有,邮件将不会被触发 有没有办法克服这一问题,例如将邮件触发请求发送到Outlook已预配置的远程计算机/服务器,并使用通用或集中的电子邮件id将邮件从该计算机/服务器发送给干系人 私有子工作簿\u在SaveByVal SaveAsUI作为布尔值之前,取消作为布尔值 将OutApp设置为Outlook.Application Dim objOutlookMsg作为Outlook.MailItem Dim objOutlookRecip作为收件人 将收件人设置为收件人 Set-OutApp=CreateObjectOutlook.Application 设置objOutlookMsg=OutApp.CreateItemolMailItem Set Recipients=objOutlookMsg.Recipients 设置objOutlookRecip=Recipients。Addreceiver@domain.com objOutlookRecip.Type=1 objOutlookMsg.SentOnBehalfOfName=sender@domain.com objOutlookMsg.Subject=测试此宏 objOutlookMsg.HTMLBody=测试此宏 对于objOutlookMsg.Recipients中的每个objOutlookRecip 解决问题 下一个 objOutlookMsg.显示 objOutlookMsg.发送 设置应用程序=无 端接头 专用子命令按钮1\u单击 关于错误转到错误处理程序使用VBA在Outlook不可用时从Excel发送电子邮件,excel,vba,email,outlook,remote-access,Excel,Vba,Email,Outlook,Remote Access,当下属在Excel工作表中进行任何更新时,我想向利益相关者发送一封电子邮件。我希望使用Workbook_BeforeSave事件,从下属的Outlook帐户触发电子邮件 下级/用户需要在其系统中配置/安装Outlook。如果没有,邮件将不会被触发 有没有办法克服这一问题,例如将邮件触发请求发送到Outlook已预配置的远程计算机/服务器,并使用通用或集中的电子邮件id将邮件从该计算机/服务器发送给干系人 私有子工作簿\u在SaveByVal SaveAsUI作为布尔值之前,取消作为布尔值 将Ou
' SET Outlook APPLICATION OBJECT.
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
' CREATE EMAIL OBJECT.
Dim objEmail As Object
Set objEmail = objOutlook.CreateItem(olMailItem)
With objEmail
.to = "webadmin@encodedna.com"
.Subject = "This is a test message from Arun Banik"
.Body = "Hi there"
.Display ' DISPLAY MESSAGE.
End With
' CLEAR.
Set objEmail = Nothing: Set objOutlook = Nothing
错误处理程序:
'
端接头
您只需使用.Send属性更改.Display属性
With objEmail
.to = "arunbanik21@rediffmail.com"
.Subject = "This is a test message from Arun"
.Body = "Hi there"
.Send ' SEND THE MESSAGE.
End With
有关更多信息,请查看此处,按照以下步骤操作
我们需要从Outlook发送电子邮件。由于Outlook是外部对象,我们需要做的第一件事是将对象引用设置为“Microsoft Outlook 16.0对象库”。
在VBA中,转到工具>参考。
现在我们将看到对象引用库。在此窗口中,我们需要设置对“Microsoft Outlook 16.0对象库”的引用
设置对象参照后,单击“确定”。
现在我们可以在VBA编码中访问Outlook对象
更多信息,请您尝试一下本文中提到的
非常感谢。但您的代码仅在outlook已预配置时有效。如果未配置/安装Outlook,它将不起作用。然后,请按照本文所述进行尝试,虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-Outlook应用程序未安装在用户的计算机上。实际上,我希望使用通用邮件id从远程系统向利益相关者发送电子邮件通知
With objEmail
.to = "arunbanik21@rediffmail.com"
.Subject = "This is a test message from Arun"
.Body = "Hi there"
.Send ' SEND THE MESSAGE.
End With
Sub SendEmail_Example1()
Dim EmailApp As Outlook.Application 'To refer to outlook application
Set EmailApp = New Outlook.Application 'To launch outlook application
Dim EmailItem As Outlook.MailItem 'To refer new outlook email
Set EmailItem = EmailApp.CreateItem(olMailItem) 'To launch new outlook
email
EmailItem.To = "Hi@gmail.com"
EmailItem.CC = "hello@gmail.com"
EmailItem.Subject = "Test Email From Excel VBA"
EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _
vbNewLine & vbNewLine & _
"Regards," & vbNewLine & _
"VBA Coder" 'VbNewLine is the VBA Constant to insert a new line
EmailItem.Send
End Sub