簡體   English   中英

VBA 對象模型參考文檔

[英]VBA Object Model reference documentation

有沒有一個地方可以簡單地找到對象模型層次結構和 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得到了下面的圖片

對象模型層次結構

更新:根據以下用戶 Oliver 的輸入:我的辦公室幫助似乎不起作用。CLView.EXE 問題

通常,如果變量或其他標識符可以解析為特定類型,則 Intellisense 將向您顯示該類型的成員。 例如:

Application.

將顯示成員列表。

Selection是一種特殊情況,因為盡管當前選定的項目通常是一系列單元格,但它也可能是其他內容 - 例如圖表工作表的一部分。


您可以通過添加監視( Debug -> Add Watch... )來發現Selection所指對象的基礎類型。 表達式框中鍵入Selection ,並將上下文設置為(所有過程)(所有模塊)(如果尚未設置為這種方式)。

Watches窗口中,您將看到Selection引用的對象的實際類型,您可以展開+以查看其屬性。 如果類型為Object/Range ,(意味着表達式的類型是Object並且表達式引用的對象的類型是Range ),則屬性之一將是Interior 如果您查看Interior的類型列,您會看到Interior/Interior ,因為Interior屬性的類型確實是Interior類型。

如果您在代碼中鍵入以下內容:

ActiveCell.

Intellisense 將向您顯示成員列表,包括Interior屬性,因為ActiveCell屬性的類型是Range類型。


其他一些用於研究對象模型的強大工具:

  • 對象瀏覽器View -> Object Browser )根據項目引用的庫(可以在Tools -> References... 中查看/更改)顯示您的項目可用的類型列表。 選擇類型后,您將看到該類型的成員列表。 您可以按庫和/或按名稱過濾類型。 <globals>類型的成員可以在沒有任何對象引用的情況下使用—— Interior需要使用一些Range對象,但Selection可以單獨使用。
  • 立即窗口查看- >立即窗口),可以計算表達式(前言用? -如?ActiveWorkbook.Sheets.Count )和運行代碼的地方(如ActiveWorkbook.Save

Excel Developer 參考很可能就在您的計算機上,只是很難找到:

手動方式:

  1. 啟動 Excel
  2. 按 Alt-F11 進入 VBA 編輯器
  3. 在菜單欄上,選擇“?”->Microsoft Visual Basic 幫助

現在您正在查看 Excel-VBA 幫助,您甚至可以在左上角的框中搜索“選擇”。

直接鏈接:

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

(至少這適用於 Office 2007,我認為它也適用於 2013 年)

您的意思是,在編碼時您希望看到像 JavaDoc 這樣的函數/子解釋嗎? 不幸的是,這不是 VBA 的標准。

但是你可能想看看這個是否有一個類似於 Javadoc 的好的 VB6 文檔系統?

“查看”Excel 調用的底層對象模型的另一種方法是使用宏記錄器。

  1. 並排打開 Excel 工作表和 VBA 環境 (ALT+F11)。
  2. 轉到“開發人員”選項卡,然后單擊“錄制宏”。
  3. 在 VBE 中,從項目資源管理器中打開 module1(這是 exlce 默認寫入宏的地方)。
  4. 現在在您的工作表中進行更改並查看 Excel 正在編寫什么代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM