ACC95: Create and Date Stamp a Word Document Using OLE Automation

ID: Q154567


The information in this article applies to:
  • Microsoft Access 7.0
  • Microsoft Word for Windows 95, version 7.0


SUMMARY

Moderate: Requires basic macro, coding, and interoperability skills.

This article demonstrates how to use OLE Automation to create a Microsoft Word document and add a date stamp.

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.


MORE INFORMATION

Example - Create and Date Stamp a Microsoft Word document

The following example creates a new Microsoft Word document, inserts some text and formats it, and then inserts a text date stamp.

To run this code:

  1. Open Microsoft Word. When the code is run from Microsoft Access, Microsoft Word will remain open.


  2. Open a Microsoft Access for Windows 95 database and create a new module.


  3. Add a Reference to the Word95Acc.TLB reference file. To do this, on the Tools menu, click References. Click the Browse button and locate the Wrd95Acc.dll file. Usually, this file is located in the \ACCESS folder. Select the file and click OK. The Word 95 reference library is now referenced by the active Microsoft Access database.


  4. Type the following function in the Module window:
    
          Function CreateDoc()
          Dim ThisWord As Word95ACC.Word95Access
          Set ThisWord = CreateObject("Word.Basic")
          With ThisWord
              .AppMaximize
              ' Create a new document based on the default template (usually
              ' Normal)
              .FileNewDefault
              .FormatFont _
                  Points:=22, _
                  Bold:=True, _
                  Italic:=True
              .INSERT "Welcome to Word OLE  Automation"
              .InsertPara
              .FormatFont _
                  Points:=10, _
                  Bold:=False, _
                  Italic:=False
              .INSERT "Report Created:"
              ' Insert the date as text, not as an updateable field
              .InsertDateTime _
                  DateTimePic:="YYYY MM DD HH:MM:SS", _
                  InsertAsField:=False
              .InsertPara
          End With
          End Function 


To run the function, open the Debug window, type the following line, and then press ENTER:
?CreateDoc()
NOTE: In both examples, when the OLE Automation object goes out of scope, the instance of Microsoft Word is unloaded unless the object was created from a previous instance (already opened). It is possible to set the object to a global variable so that it does not lose scope until the application is closed.


REFERENCES

For information about OLE Automation, in the Microsoft Word for Windows help file (you must have the WordBasic help file, WRDBASIC.HLP installed), search on OLE Automation and choose the "Accessing Word for OLE Automation" topic. For information about the WordBasic commands used in this code, search on Insert statement, FormatFont statement, FileNewDefault statement, and InsertDateTime statement.

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 examples of OLE Automation between Microsoft Access and Microsoft Graph, see the OLE Automation Help File available on the World Wide Web at www.microsoft.com. To locate the file, on the Microsoft Home page, click Support. On the next page, click "Search the Knowledge Base." In box 1, select Access. In box 3, type Q148124, and then click Go!

Additional query words:

Keywords : kbinterop IntpOlea
Version : WINDOWS:7.0
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: November 13, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.