XL2000: Page Fault Occurs When Running a DDE Macro or Closing Windows (213520)
The information in this article applies to:
This article was previously published under Q213520 SYMPTOMS
When you run a Microsoft Visual Basic for Applications macro or procedure
that uses Dynamic Data Exchange (DDE) commands, or you try to restart or shut down Microsoft Windows after running such a macro or procedure, one of the following error messages appears.
Microsoft Windows 95 or 98
This program has performed an illegal operation and will be shut down.
If the problem persists, contact the program vendor.
When you click Details, an error message similar to one of the following appears:
EXCEL caused an invalid page fault in module OLEAUT32.DLL at 0137:65349854.
EXCEL caused an invalid page fault in module EXCEL.EXE at 0137:302036d4.
Microsoft Windows NT
This Windows application cannot respond to the End Task request. It may be busy, waiting for a response from you, or it may have stopped executing.
An application error has occurred and an application error log is being generated.
EXCEL.exe
Exception access violation (0xc0000005),Address 0x30276e52.
Microsoft Windows NT 4.0 Service Pack 4 (SP4)
The instruction at "0x30210a99" referenced memory at "0x005b000d". The memory could not be "read".
Click OK to terminate the application.
Click Cancel to debug the application.
Microsoft Windows 2000Ending program...Please wait. This program is not responding. CAUSE
This problem occurs when you do the following:
- You run Visual Basic code that opens more than one DDE channel to a
program and does not properly terminate the open channels.
-and- - You do either of the following:
- You quit Microsoft Windows.
-or-
- You run the same procedure or another procedure that creates a DDE
channel to the same program.
RESOLUTION
If you open a DDE channel, you must terminate the channel before you quit
Microsoft Excel. To terminate a DDE channel, use the DDETerminate method, as in the following example
Application.DDETerminate <ChanNum>
where <ChanNum> is the channel number returned by the DDEInitiate method.
If you encounter this problem, restart Windows, and then edit the macro or procedure in Microsoft Excel. Insert the DDETerminate statement into the appropriate location in the code. For more information, see the sample macro in the "More Information" section of this article.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. REFERENCESFor more information about creating DDE channels, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type DDEInitiate Method in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbbug kberrmsg kbpending KB213520 |
---|
|