Documents Object

Home Page (Objects)OverviewFAQReference

The Documents object represents all open documents. The Documents object is a collection of one or more Document and TextDocument objects.

The Documents object has the following properties and methods:

Properties
Application _NewEnum
Count Parent

Methods
Add Open
CloseAll SaveAll
Item

The Documents object is a collection object that contains all Document objects. To find a particular object, iterate through the collection by using the Documents property of the Application object. Consider the following code snippet from a VBScript macro:

Dim myDocument
For Each myDocument in Application.Documents
   ' Access myDocument here.
   ' For example:
    MsgBox myDocument.Name
Next

In Visual C++, you can iterate through the Documents collection by using the Item method or _NewEnum property.

When you reference the Documents collection, the reference always reflects the current contents of the collection. For example, suppose you have two macros (A and B). In macro A, you set a global variable to the collection, and in macro B you use the variable. When you use it, the variable will reflect the current contents of the collection — not the contents present when you set the variable.

Using a Dual Interface to Access This Object

This section about dual interfaces is useful for writing add-ins or automating Developer Studio across processes. This section is not applicable to writing VBScript macros.

The Documents object implements the IDocuments dual interface. Through this interface, add-ins can directly access the members (properties, methods, and events) of this object and can employ early binding to make calls into these members faster at run time.

Add-ins written in Visual C++ can access members of the Documents object by using the header files in Vc98\Include\objmodel. However, if you use the Developer Studio Add-in Wizard to create an add-in, the wizard automatically includes these header files in your source code.

The following table shows the header files you need for the Documents object:

Header file Description
appauto.h Declares the dual interfaces.
appguid.h Declares the GUIDs used to identify the interfaces.
appdefs.h Declares additional information needed to use the interfaces, such as error IDs and enumerated constants.

Add-ins written in Visual Basic can access members of the Documents object by using the Visual Studio '97 Shared Objects type library, located in Msdev98\bin\devshl.dll.

Note   Visual Studio '97 Shared Objects is the name that appears in the Visual Basic References dialog box.

See Also   Document object, TextDocument object.