VBA对象模型参考文档

时间:2014-08-27 11:46:05

标签: excel excel-vba vba

是否有一个地方可以简单地找到VBA for Excel 2013的对象模型层次结构和API类型?

我在查看MSDN网址 http://msdn.microsoft.com/en-us/library/office/ff841127(v=office.15).aspx

但这似乎令人困惑。

示例:

如果我正在写作

Selection.Interior.ColorIndex = -4142

我希望有一个API(在线或离线)来理解以Selection开头的对象模型,并以我的方式工作(和探索)ColorIndex。通过阅读相关文档。

我认为可能的唯一方法是使用像Java Docs这样的结构化文档。

任何参考/提示都会有所帮助。

System Info:
MS Excel 2013
VBA
Windows 8, 64 bit

更新: 在搜索答案时,我从http://msdn.microsoft.com/en-us/library/aa141044.aspx

获得了以下图片

Object Model Hierarchy

更新: 根据用户Oliver的输入如下: 我的办公室帮助似乎没有起作用。 CLView.EXE issue

4 个答案:

答案 0 :(得分:2)

通常,如果可以将变量或其他标识符解析为特定类型,则Intellisense将向您显示该类型的成员。例如:

Application.

将显示成员列表。

Selection是一种特殊情况,因为虽然当前所选项目通常是一系列单元格,但它也可能是其他内容 - 例如,图表工作表的一部分。


您可以通过添加监视(调试 - > 添加监视... )来发现Selection引用的对象的基础类型。在表达式框中键入Selection,并将上下文设置为(所有程序)(所有模块),如果它是&#39 ;不是那样的。

观看窗口中,您将看到Selection引用的对象的实际类型,您可以展开+以查看其属性。如果类型显示Object/Range,(表示表达式的类型为Object且表达式引用的对象类型为Range),则其中一个属性为{{ 3}}。如果您查看Interior的类型列,则会看到Interior/Interior,因为Interior属性的类型确实是Interior类型。

如果您在代码中键入以下内容:

ActiveCell.

Intellisense将显示成员列表,包括Interior属性,因为Interior属性的类型是ActiveCell类型。


用于调查对象模型的一些其他强大工具:

  • 对象浏览器查看 - &gt; 对象浏览器)根据图书馆向您显示项目可用的类型列表项目引用的(可以在工具 - &gt; 引用... 中查看/更改)。选择类型后,您将看到该类型的成员列表。您可以按库和/或按名称过滤类型。 <globals>类型的成员可以在没有任何对象引用的情况下使用 - Interior需要使用一些Range对象,但Selection可以单独使用。
  • 立即窗口查看 - &gt; 立即窗口)可让您评估表达式(前言为? - 例如?ActiveWorkbook.Sheets.Count)并运行代码(例如ActiveWorkbook.Save

答案 1 :(得分:1)

Excel Developer Reference很可能就在您的计算机上,很难找到:

手动方式:

  1. 启动Excel
  2. 按Alt-F11进入VBA编辑器
  3. 在菜单栏上,选择“?” - &gt; Microsoft Visual Basic帮助
  4. 现在您正在查看Excel-VBA帮助,您甚至可以在左上角的“选择”框中搜索它。

    直接链接:

    "C:\Program Files (x86)\Microsoft Office\Office15\CLVIEW.EXE" "EXCEL.DEV" "Microsoft Office Excel"
    

    (至少这适用于Office 2007,我认为它也适用于2013年)

答案 2 :(得分:0)

您的意思是,在编码时您希望看到像JavaDoc这样的函数/子解释吗? 不幸的是,这不是VBA的标准。

但是你可能想看看这个 Is there a good VB6 documentation system similar to Javadoc?

答案 3 :(得分:0)

另一种方式&#34;见&#34; Excel调用的基础对象模型是使用宏录制器。

  1. 并排打开Excel工作表和VBA环境(ALT + F11)。
  2. 转到开发人员标签,然后点击&#34;录制宏&#34;。
  3. 从VBE打开项目资源管理器中的module1(这是exlce默认写入宏的地方)。
  4. 现在在工作表中进行更改,看看Excel正在编写什么代码。