ACC: How to Open and Close Word Documents with OLE Automation

Last reviewed: August 28, 1997
Article ID: Q154456
The information in this article applies to:
  • Microsoft Access versions 2.0, 7.0
  • Microsoft Word for Windows version 6.0c

SUMMARY

Advanced: Requires expert coding, interoperability, and multiuser skills.

This Article demonstrates how to use OLE Automation to Open and Close Microsoft Word for Windows 95 documents.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to the "Building Applications with Microsoft Access for Windows 95" manual.

NOTE: Visual Basic for Applications (used in Microsoft Access for Windows 95 version 7.0) is called Access Basic in version 2.0. For more information about Access Basic, please refer to the "Building Applications" manual.

For more information about using OLE Automation between Microsoft Access and Microsoft Word, search on the phrase "Create a Word Document using OLE Automation," and then "CreateObject function" using the Microsoft Access for Windows 95 Answer Wizard. For more information about the Microsoft Access Verb and Action properties, search on the phrases "Verb property" and "Action property," using the Microsoft Access Help Index.

MORE INFORMATION

The following two examples demonstrate how to manipulate Microsoft Word 7.0 documents:

Example 1

The following example assumes there is a document named Test.doc in the C:\Winword folder (directory). This example demonstrates how to open a Microsoft Word Document, reformat the text, and then close the document:

  1. Open Microsoft Access and open the sample database Northwind.mdb. (NWIND.MDB in Microsoft Access version 2.0)

  2. Create a new module and add the following function:

          Function CloseDoc ()
    
            Dim wordobj As Object
            Set wordobj = CreateObject("Word.Basic")
            wordobj.FileOpen "C:\Winword\Test.doc"
            ' View the invoked instance of Word.
            wordobj.AppShow
            ' Selects the entire document and makes it Bold.
            wordobj.EditSelectAll
            wordobj.Bold 1
            ' Closes the document and saves changes.
            wordobj.filesave
            wordobj.FileClose (1)
            wordobj.appclose
            Set wordobj = Nothing
          End Function
    
    

  3. Type the following into the Debug window (or Immediate window in Microsoft Access version 2.0), and then press ENTER:

          ?Closedoc()
    

    Note that the object is opened, formatted, saved, and then closed.

Example 2

The following example demonstrates how to close a Microsoft Word document which is embedded on a form:

  1. Open the sample database Northwind.mdb (or NWIND.MDB in version 2.0) and create a new form.

  2. In Design view, create an unbound object frame named OLEObj on the form. Change the Enabled property for the object frame control to Yes and the Locked property to No. When prompted with the Insert Object dialog box, click "Create New" and in the list of Object Types click "Microsoft Word Document." Click OK. In the blank Word document that appears, enter some text, and then on the File menu, click "Close and Return to Formx: Form."

  3. Add a command button to the form and for the OnClick property add the following code:

          Dim WordObj as Object
    
          Me![OLEObj].Verb = -2   ' Tells Microsoft Access to open the
                                  ' application.
          Me![OLEObj].Action = 7  ' Activates the application.
          Set WordObj = Me![OLEObj].Object.Application.WordBasic
          WordObj.EditSelectAll
          WordObj.Bold 1
          Wordobj.FileSave
          WordObj.FileClose(1)
          Wordobj.Appclose
          Set WordObj = Nothing
    
    

  4. Open the form and click the command button. Note that OLE Object is opened, formatted, and then closed.
Keywords          : AutoGnrl kbinterop PgmHowTo IntpOleA
Technology        : kbole
Version           : 2.0 7.0
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbhowto


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.