【发布时间】:2023-01-07 03:18:47
【问题描述】:
我主要是想了解它正在运行的代码:
Sub sendOutlookEmail()
Dim oApp As Outlook.Application
Dim oMail As MailItem
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(olMailItem)
oMail.Body = "Body of the email"
oMail.Subject = "Test Subject"
oMail.To = "Someone@somewhere.com"
oMail.Send
Set oMail = Nothing
Set oApp = Nothing
End Sub
我了解到通过早期绑定创建对象是最佳实践,如
Dim oApp as New Outlook.Application
而不是通过后期绑定,如
Dim oApp as Outlook.Application
Set oApp = CreateObject("Outlook.application")
所以我试图减少代码。
1. oApp 和oMail 都是对象吗?
或者是o邮件的属性或方法oApp对象(也许是创建新对象的方法)?如果是这样的话:
自从oApp是一个对象 Outlook.Application 和o邮件是一个对象,例如oApp.CreateItem(olMailItem) 我试图立即定义o邮件像这样通过早期绑定对象:
Dim oMail as New Outlook.Application.CreateItem(olMailItem)
但这给了我一个语法错误。 以及以下内容:
Dim oMail as New Outlook.Application.olMailItem
给我一个类型不匹配错误。 所以:
2. 有没有直接创建 oMail 的方法?
或者我必须先创建oApp对象首先无论如何,为了能够创建o邮件项目(即依赖于第一个的另一个对象)?
3. 有什么方法可以在一行中通过提前绑定来定义 oMail 对象吗?
我是编程新手,我希望我已经正确地解释了自己并且我的问题有某种意义呵呵。
祝你今天过得愉快!
【问题讨论】:
标签: vba ms-access outlook-addin ms-access-2016 vba7