Excel VBA Outlook自动化代码段在一个工作簿中工作,但不在另一个工作簿中
问题描述:
我正在尝试将一段代码传送到另一个工作簿。代码工作完美上workbook1但生成未定义Excel VBA Outlook自动化代码段在一个工作簿中工作,但不在另一个工作簿中
当workbook2运行
编译错误用户定义的类型。
这里是有问题的代码。
' Set up Outlook Namespace Set OL = CreateObject("Outlook.Application") Dim olNS As Outlook.Namespace Dim olFol As Outlook.Folder Set olNS = OL.GetNamespace("MAPI") Set olFol = olNS.GetDefaultFolder(olFolderInbox) ' Current users address Address = olNS.Accounts.Item(1).SmtpAddress
这个错误来自
olNS As Outlook.Namespace
答
生成该错误,因为虽然你使用后期绑定为OL
你还在使用olNS
早期绑定,并可能不会设置在第二个工作簿的Outlook参考。
如果你想使用后期绑定,然后做到这一点,如:
Dim olNS As Object
Set olNS = CreateObject("Outlook.Namespace")
Dim olFol As Object
Set olFol = CreateObject("Outlook.Folder")
'etc...
或者只设置在第二个工作簿到Outlook的引用:
+0
再次感谢您 – AutomateMyJob
+0
无后顾之忧 - 快乐编码:) –
什么'Workbook'? ?您拥有的代码与** Outlook **相关! –
检查包含在第一个工作簿中的引用与第二个工作簿中的引用。 –
@ShaiRado - 可以[tag:excel-vba]但是混合并匹配早期和晚期的绑定 –