This documentation is archived and is not being maintained.

Document Class (2007 System)

Represents a document in Visual Studio Tools for Office projects for Microsoft Office Word.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v9.0 (in Microsoft.Office.Tools.Word.v9.0.dll)

[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class Document : EntryPointBindableComponentBase, IActivatable, 
	IServiceProviderCallback, IOfficeHostItemEntryPoint, IEntryPoint, ISupportInitializeControl, ISupportInitialize

The Microsoft.Office.Tools.Word.Document class is the base class for document host items in Visual Studio Tools for Office projects. The Microsoft.Office.Tools.Word.Document class provides the same members as the Document class in the Word primary interop assembly, but it adds the following features:

  • Controls property. Use this property to add managed controls to a Word document, or remove controls, at run time.

  • VstoSmartTags property. Use this property to add smart tags to a document.

  • InnerObject property. Use this property to get the underlying Document object for a Microsoft.Office.Tools.Word.Document host item.

  • RemoveCustomization method. Use this method to remove the Visual Studio Tools for Office customization assembly from the document in a document-level customization.

  • CreateRibbonObjects method. Override this method if you added multiple custom Ribbons to your project by using the Ribbon (Visual Designer) item template, and you want to specify which Ribbons to display at run time.

  • GetAutomationObject method. Override this method to expose a class in your project to VBA code in the document.

  • Document-level events, such as BeforeClose and BeforeSave, that are provided only at the application level in the Word object model. That is, in the Word object model, these events are defined in the Application class rather than the Document class.

For more information about the role the Microsoft.Office.Tools.Word.Document class plays in Visual Studio Tools for Office projects, see Host Items and Host Controls Overview and Document Host Item.

Creating Document Host Items

In application-level projects created by using Visual Studio 2008 Service Pack 1 (SP1), you can create Microsoft.Office.Tools.Word.Document objects programmatically by using the GetVstoObject method of any Document object. For more information, see Extending Word Documents and Excel Workbooks in Application-Level Add-ins at Run Time.

In document-level projects, you cannot create a Microsoft.Office.Tools.Word.Document object programmatically. Instead, use the ThisDocument class to programmatically access the document in your project. Visual Studio generates this class in your project at design time. The ThisDocument class derives from the Microsoft.Office.Tools.Word.Document class, and it is instantiated automatically by the Visual Studio Tools for Office runtime when the end user opens the document. For more information, see Programming Document-Level Customizations.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.