Using DDE to Run a Word for Windows Macro from Access |
Q111783
2.x 6.00 6.00a 6.00c 7.00 WINDOWS kbusage kbmacroThis 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]
Representing this string in Microsoft Access can look visually confusing
because the quotation marks are used in the command string and also
in the assignment syntax for Microsoft Access. If this were to be written
explicitly it would look like:
c$="[ToolsMacro .Name="+chr$(34)+"macroname"+chr$(34)+", .Run]"
In the example below, this string has been broken up to help explain
how the command line is built. Concatenating these yields the required
syntax for the DDEExecute argument.
q$ is defined as ASCII character 34, which is the quotation mark.To create a simple example in Microsoft Access that runs a Word for Windows macro:
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.
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
Sub Main
Filenewdefault
Insert "This is from Amacro"
End Sub Additional query words: winword2 2.00a 2.00a-CD 2.00b 2.00c word7 word6 winword word95
Keywords :
Issue type :
Technology :
|
Last Reviewed: November 4, 2000 © 2001 Microsoft Corporation. All rights reserved. Terms of Use. |