Running Word for Windows Macro from Visual Basic Program

ID: Q74653

The information in this article applies to:

SUMMARY

It is possible to write a Visual Basic program to communicate with Microsoft Word for Windows using DDE (Dynamic Data Exchange). The following example displays the syntax necessary to run a Word for Windows macro from a Visual Basic application:

   Const COLD = 2
   Const NONE = 0
   Const HOT  = 1


   Sub Compic2_Click ()
   compic2.LinkTopic = "WinWord|system"
   compic2.LinkMode = COLD
   a% = DoEvents()
   compic2.LinkExecute [Hellomacro]
   compic2.LinkMode = NONE
   End Sub

MORE INFORMATION

The most important part of this macro from the Word for Windows viewpoint is the syntax to communicate with Word for Windows specifically. The command that actually executes the macro is the .LinkExecute command. This is the Visual Basic equivalent of the DDEExecute in Word for Windows. The correct lines of code to run a Word for Windows macro should follow this syntax:

   compic2.LinkTopic = "WinWord|system"
   compic2.LinkMode= either HOT OR COLD
   compic2.LinkExecute [Macroname]
   (you should always close the link as the example does)

REFERENCES

"Microsoft Visual Basic Programmer's Guide," pages 354-376

Kbcategory: kbusage kbmacro KBSubcategory: Additional query words: winword2 6.0 6.0a 6.0c 1.x 2.0 winword word7 word6 6.0a 6.0c 7.0 word95 2.0a 2.0a-CD 2.0b 2.0c

Version           : 1.x 2.x 6.0 6.0a 6.0c 7.0
Platform          : WINDOWS

Last Reviewed: July 30, 1997