共用方式為


文件層級自訂程式設計

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • 2007 Microsoft Office system

  • Microsoft Office 2003

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

當您使用文件層級自訂擴充 Microsoft Office Word 或 Microsoft Office Excel 時,可以執行下列工作:

  • 使用應用程式的物件模型 (Object Model) 自動化 Microsoft Office 應用程式。

  • 將控制項加入至文件介面。

  • 從自訂組件 (Assembly) 呼叫文件中的 Visual Basic for Applications (VBA) 程式碼。

  • 從 VBA 呼叫自訂組件中的程式碼。

  • 在文件位於未安裝 Microsoft Office 的伺服器上時,管理文件的某些方面。

  • 自訂應用程式的使用者介面 (UI)。

如需您可以使用 Visual Studio Tools for Office 建立之文件層級自訂和其他方案類型的一般資訊,請參閱 Office 方案開發概觀

在文件層級專案中撰寫程式碼

當您建立文件層級專案時,Visual Studio Tools for Office 會自動在專案中產生類別 (Class),供您開始撰寫程式碼。Visual Studio Tools for Office 會針對 Word 和 Excel 產生不同的類別:

  • 在 Word 的文件層級專案中,類別預設名為 ThisDocument。

  • Excel 的文件層級專案具有多個產生的類別:一個用於活頁簿本身,一個用於每個工作表。根據預設,這些類別具有下列名稱:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

產生的類別包含會在文件開啟或關閉時呼叫的事件處理常式。若要在文件開啟時執行程式碼,請將程式碼加入至 Startup 事件處理常式。若要在文件即將關閉之前執行程式碼,則請將程式碼加入至 Shutdown 事件處理常式。如需詳細資訊,請參閱 Visual Studio Tools for Office 專案事件

文件層級專案中每個自動產生的類別都衍生自名為「主項目」(Host Item) 的 Visual Studio Tools for Office 類別。例如,Word 專案中的 ThisDocument 類別是衍生自 Microsoft.Office.Tools.Word.Document 主項目。如需詳細資訊,請參閱主項目和主控制項概觀

存取主應用程式的物件模型

若要存取主應用程式的物件模型,請使用專案中產生之類別的成員。這些類別都各對應至 Excel 或 Word 物件模型中的一個類別,並且大多包含相同的屬性、方法和事件。例如,Word 文件層級專案中 ThisDocument 類別與 Word 物件模型中的 Microsoft.Office.Interop.Word.Document 類別大多提供相同的成員。

下列程式碼範例顯示如何使用 Word 物件模型儲存屬於 Word 文件層級自訂一部分的文件。這個範例適合從 ThisDocument 類別執行。

Me.Save()
this.Save();

若要從 ThisDocument 類別外執行同樣的動作,請使用 Globals 物件存取 ThisDocument 類別。如需 Globals 物件的詳細資訊,請參閱全域存取 Visual Studio Tools for Office 專案中的物件

例如,如果您要在執行窗格 UI 中包含 [Save] 按鈕,可以將這個程式碼加入至執行窗格程式碼檔案。

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

因為 ThisDocument 類別是衍生自 Microsoft.Office.Tools.Word.Document 主項目,所以這個程式碼中呼叫的 Save 方法實際上是 Microsoft.Office.Tools.Word.Document 主項目的 Save 方法。這個方法對應至 Word 物件模型中 Microsoft.Office.Interop.Word.Document 類別的 Save 方法。

如需使用 Word 和 Excel 物件模型的詳細資訊,請參閱 Word 物件模型概觀Excel 物件模型概觀

將控制項加入至文件

若要自訂文件的 UI,您可以將 Windows Form 控制項或「主控制項」(Host Control) 加入至文件介面。藉由合併不同組的控制項並撰寫程式碼,您可以將控制項繫結至資料、從使用者收集資訊,以及回應使用者動作。

主控制項是一種會擴充 Word 和 Excel 物件模型中某些物件的類別。例如,Microsoft.Office.Tools.Excel.ListObject 主控制項會提供 Excel 中 Microsoft.Office.Interop.Excel.ListObject 的所有功能。但是,Microsoft.Office.Tools.Excel.ListObject 主控制項還多了一些事件和資料繫結 (Data Binding) 功能。

如需詳細資訊,請參閱主項目和主控制項概觀Office 文件上的 Windows Form 控制項概觀

合併 VBA 和文件層級自訂

如果文件屬於 Visual Studio Tools for Office 文件層級自訂的一部分,您可以使用該文件中的 VBA 程式碼。在所有文件層級的專案中,您可以從自訂組件呼叫文件中的 VBA 程式碼。在 2007 Microsoft Office system 的文件層級專案中,您還可以設定自己的專案來允許文件中的 VBA 程式碼呼叫自訂組件中的程式碼。

如需詳細資訊,請參閱合併 VBA 和文件層級自訂

管理伺服器上的文件

您可以在未安裝 Microsoft Office Word 或 Microsoft Office Excel 的伺服器上管理文件層級自訂的數個不同方面。例如,您可以存取及修改文件之資料快取中的資料。您也可以管理與文件關聯的 Visual Studio Tools for Office 自訂組件。例如,您可以用程式設計的方式從文件中移除組件,讓文件不再執行程式碼,或者用程式設計的方式將組件附加至文件。

如需詳細資訊,請參閱使用 ServerDocument 類別管理伺服器上的文件

自訂 Microsoft Office 應用程式的使用者介面

您可以使用文件層級自訂來自訂 Word 和 Excel 的 UI。

Microsoft Office 2007 和 2003 版

如果是 Microsoft Office 2003 和 2007 Microsoft Office system,您可以用下列方式自訂 UI:

2007 版

如果是 Word 2007 和 Excel 2007,您也可以用下列方式自訂 UI:

2003 版

如果是 Word 2003 和 Excel 2003,您也可以用下列方式自訂 UI:

如需自訂 Microsoft Office 應用程式 UI 的詳細資訊,請參閱 Office UI 自訂

請參閱

工作

HOW TO:建立及修改自訂文件屬性

HOW TO:從文件屬性中讀取及寫入

概念

合併 VBA 和文件層級自訂

使用 ServerDocument 類別管理伺服器上的文件

在文件層級自訂中取得原生 Office 物件的擴充物件

其他資源

Office 文件上的控制項