Article ID: 118974
Article Last Modified on 8/15/2005
APPLIES TO
- Microsoft Excel 95 Standard Edition
- Microsoft Excel 5.0c
- Microsoft Excel 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.
Additional query words: 4.00a gpf err msg officeinterop
Keywords: KB118974