How to: Reference Documents in the Documents Collection

You can refer to a Microsoft.Office.Interop.Word.Document object as a member of the Documents collection by using the name of the document or its index value in the collection.

Applies to: The information in this topic applies to document-level projects and application-level projects for Word 2007 and Word 2010. For more information, see Features Available by Office Application and Project Type.

Referring to a document by its name is usually the better choice if you want to work with a specific document. You rarely refer to a document by using its index value in the Documents collection because this value can change for a given document as other documents are opened and closed.

Referencing Documents

To reference a document by its name

  • Set an object variable to point to the named document, SampleDoc.doc. To use the following code example, run the code from the ThisDocument or ThisAddIn class in your project.

    Dim doc As Word.Document = CType(Application.Documents("SampleDoc.doc"), Word.Document)
    
    Word.Document doc = Application.Documents["SampleDoc.doc"]; 
    

If you want to refer to the active document (the document that has focus), you can use the ActiveDocument property of the Application object.

To reference the active document

  • Retrieve the name of the active document using ActiveDocument. To use the following code example, run the code from the ThisDocument or ThisAddIn class in your project.

    Dim documentName As String = Application.ActiveDocument.Name
    
    string documentName = Application.ActiveDocument.Name;
    

If you are only working with the document that is associated with a document-level customization, you can use the Globals.ThisDocument reference from anywhere in the project when you need to refer to the document that has the focus.

To reference the document associated with a document-level customization

  • Retrieve the name of the document using Globals.ThisDocument.

    Dim documentName2 As String = Globals.ThisDocument.Name
    
    string documentName2 = Globals.ThisDocument.Name;
    

See Also

Tasks

How to: Open Existing Documents

How to: Insert Text into Word Documents

Concepts

Global Access to Objects in Office Projects

Host Items and Host Controls Overview