VBA和后期绑定:我在哪里找到常量的数值等量物?

  • 本文关键字:常量 绑定 在哪里 VBA vba binding
  • 更新时间 :
  • 英文 :


我是一个完全的VBA新手,决定用一个周末的时间自学,所以请原谅我愚蠢的问题。我正在尝试自动化一些日常任务,包括从Excel电子表格生成Word文档或电子邮件。因为会涉及到多个软件版本,所以我使用延迟绑定打开Word和Outlook。我的问题是:在哪里可以找到一个简单的引用,告诉我与应用程序常量对应的索引号是什么?我花了很多时间在谷歌上搜索,例如,Outlook的"联系人"文件夹类型是"10"。也许有人知道一个网页链接,可以节省我无数小时的搜索?

更新:http://msdn.microsoft.com/en-us/library/office/gg278936%28v=office.14%29.aspx似乎有一些我需要的信息,虽然它并不总是直观的信息在哪里。例如,如果它包含outlook文件夹类型常量,我还没有找到它们。

见此处

枚举http://msdn.microsoft.com/en-us/library/office/ff860961 (v = office.15) . aspx

OlDefaultFolders枚举http://msdn.microsoft.com/en-us/library/office/ff861868(v=office.15).aspx

我建议在开发期间将相关的对象库作为参考添加到您的项目中。您可以使用VBA编辑器中的Tools - References菜单来完成此操作。这使得开发更容易,因为您可以在编写代码时使用智能感知。

如果你在代码中只需要几个枚举或单个常量,最简单的方法是在VBA编辑器中点击[F2],而对象库仍然被引用。然后搜索常量名称并将其值复制到代码中。

仅仅在代码中使用常量的数值会使代码很难阅读。所以我建议重新声明所有的枚举/常量你实际使用的模块在你自己的项目。这大大提高了代码的可读性。

所以,而不是只是从VBA对象浏览器复制的值,我建议你复制的名称和值,并把它自己的代码作为一个常量声明。对于您的Outlook联系人文件夹示例,它看起来像这样:

Public Const olFolderContacts = 10

你可以在你的过程中使用这个常量,就像你使用早期绑定一样。

如果你在一个更大的自动化项目中工作,使用任何一个Office对象库中的许多常量,你可以从我的网站下载现成的VBA模块,其中包含所有 Office常量。然后,您只需将相关模块导入到项目中,就可以开始了。

在你完成了主要的开发工作之后,你从你的项目中移除链接的库,并声明相关的对象变量As Object而不是实际的类型。

在编译你的项目时,一定要记住不要错过任何不支持后期绑定的声明。

最新更新