Vba 为什么我能够在不限定对象名的情况下执行方法?
今天我正在从excel自动发送Outlook电子邮件,这时我注意到我忘了一行,但不知怎么的,它仍然有效,并且没有出现编译错误。是否有这样的东西作为默认库对象Vba 为什么我能够在不限定对象名的情况下执行方法?,vba,Vba,今天我正在从excel自动发送Outlook电子邮件,这时我注意到我忘了一行,但不知怎么的,它仍然有效,并且没有出现编译错误。是否有这样的东西作为默认库对象 Sub sendmail() Dim olmsg As Outlook.MailItem 'This works Set olmsg = Outlook.CreateItem(olMailItem) 'What it should be Set olmsg = Outlook.Application.CreateItem End
Sub sendmail()
Dim olmsg As Outlook.MailItem
'This works
Set olmsg = Outlook.CreateItem(olMailItem)
'What it should be
Set olmsg = Outlook.Application.CreateItem
End Sub
在Outlook中工作时,它会自动识别Outlook类型。 类似于Excel在不首先表达Excel.Application的情况下识别诸如ActiveSheet和ActiveCell之类的关键字的方式 使用长柄表达式是一种很好的做法,以防在Outlook中工作时需要将类似的代码移植到Excel,并且因为VBA不能很好地处理溢出