GP Fault Using DDEExecute with Multiple Commands (118974)
The information in this article applies to:
- Microsoft Excel for Windows 95
- Microsoft Excel for Windows 5.0c
- Microsoft Excel for Windows 4.0a
This article was previously published under Q118974 SYMPTOMS
If you use the dynamic data exchange (DDE) Execute statement to send
commands to Microsoft Excel, you receive a general protection (GP) fault if
the Execute statement contains multiple commands.
CAUSE
This problem occurs because there is a limit to the number of commands you
can send in a single DDEExecute statement. In Microsoft Excel version 4.0,
you receive a GP fault if you send more than 127 commands in one DDE
Execute statement. In Microsoft Excel version 5.0, you receive a GP fault
if you send more than 242 commands in a single DDE Execute statement.
In Microsoft Excel version 5.0c, you receive a GP fault if you send more
than 459 commands in a single DDE Execute statement.
In Microsoft Excel for Windows 95, version 7.0, the procedure fails when
195 commands are sent, but you receive a GP fault if you send more than 285
commands.
WORKAROUND
To avoid receiving a GP fault when you use the DDE Execute statement, do
not send more than 127 commands to Microsoft Excel in a single Execute
statement. Instead, use multiple Execute statements to send the commands.
For example, to run a macro and open a file in Microsoft Excel using DDE
commands in a Microsoft Word for Windows macro, use the following DDE
Execute commands
DDEExecute channel, "[RUN(" + Chr$(34) + "MACRO1!R1C1" + Chr$(34) + ")]"
DDEExecute channel, "[OPEN("+ Q$+ "TEST.XLS"+ Q$+")]"
where channel is the DDE channel number returned by the DDEInitiate
statement.
Modification Type: | Minor | Last Reviewed: | 8/15/2005 |
---|
Keywords: | KB118974 |
---|
|