excel - VBA 对象模型引用文档

标签 excel vba

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

我正在查看 MSDN URL 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

最佳答案

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

Application.

将显示成员列表。

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


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

Watches窗口中,您将看到 Selection 引用的对象的实际类型,并且您可以展开 + 以查看其属性。如果类型为 Object/Range (意味着表达式的类型为 Object 并且表达式引用的对象的类型为 Range ),则属性之一将为 Interior 。如果查看 Interior 的类型列,您将看到 Interior/Interior ,因为 Interior 属性的类型确实是 Interior 类型。

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

ActiveCell.

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


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

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

关于excel - VBA 对象模型引用文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526335/

相关文章:

forms - 使用文本框自动滚动到底部

vba - 从顶部删除重复项,连接起来

excel - 如何从不同的工作表中获取查找值并显示适当的结果?

excel - 水平拖动时自动递增行

javascript - html 从右到左导出表格到 excel

VBA - 将相同的 MouseMove 代码应用于所有标签(事件处理集合)

vba - 是什么导致 Excel 2007 在 64 位环境中跳过 onerror?

vba - 如何在VBA中将字节数组保存到文件中

excel - VBA : Copying data into existing listobject

java - 将宏图转换为 gwt