ID: Q111783
2.x 6.00 6.00a 6.00c 7.00 WINDOWS kbusage kbmacro
The information in this article applies to:
This article describes a very simple example of using dynamic data exchange (DDE) to execute a Word for Windows macro from Microsoft Access. The example in this article has very little error checking and assumes a working knowledge of both products.
The commands used--DDEInitiate, DDEExecute--are very similar between Word and Microsoft Access, so the process should be familiar if you have worked with DDE using Word. One of the challenges of getting this process to work properly is that the command string for running a macro that is sent to Word for Windows is syntactically rigid. The syntax for the macro command in the DDE conversation must be:
   [ToolsMacro .Name = "Macroname", Run]
   c$="[ToolsMacro .Name="+chr$(34)+"macroname"+chr$(34)+", .Run]"
   q$ is defined as ASCII character 34, which is the quotation mark.
   mn$ is the name of the macro that is to be run.
   tm$ is the beginning of the ToolsMacro string, and tme$ is the end of
   that string.
1. In Microsoft Access create a sample database called DDEtest.
2. In this database create a new module called DDEExample.
3. In this module create a new function called runmacro(). The code
   for runmacro is:
   Function runmacro ()
    Dim chan As Variant
    On Error GoTo Cantstart:
    Macrochan = DDEInitiate("Winword", "System")
    q$ = Chr$(34)
    mn$ = "Amacro"
    tm$ = "[ToolsMacro .name ="
    tme$ = ", .Run]"
    cmd$ = tm$ + q$ + mn$ + q$ + tme$
    DDEExecute Macrochan, cmd$
    DDETerminate Macrochan
   Exit Function
   Cantstart:
    MsgBox "Problem with DDEInitiate"
    Resume Next
   End Function
   that has an Onpush property of "=RunMacro()" (without the quotation
   marks).
   Sub Main
    Filenewdefault
    Insert "This is from Amacro"
   End Sub
7. To watch the Microsoft Access macro and Word function, tile the windows
   so that Microsoft Access and Word for Windows are on the screen,
   simultaneously.
Kbcategory: kbusage kbmacro KBSubcategory: Additional reference words: winword2 2.00 2.00a 2.00a-CD 2.00b 2.00c 6.00 word7 word6 winword 7.00 word95
Version           : 2.x 6.00 6.00a 6.00c 7.00
Platform          : WINDOWSLast Reviewed: August 4, 1997