OFF97: Error Using Help Method with Microsoft Word 97 (161805)



The information in this article applies to:

  • Microsoft Word 97 for Windows
  • Microsoft Excel 97 for Windows
  • Microsoft Access 97
  • Microsoft PowerPoint 97 for Windows

This article was previously published under Q161805

SYMPTOMS

When you run a Visual Basic for Applications macro in any of the programs listed at the beginning of this article, you may receive the following error message:
This program has performed an illegal operation and will be shut down.
If the problem persists, contact the program vendor.
If you click Details, you receive the following error message:
WINWORD caused an invalid page fault in module MSO97.DLL at
0137:307be411.

CAUSE

This problem will occur if the following conditions are true:

  • Your Visual Basic macro uses OLE Automation to communicate with Microsoft Word 97.

    -and-
  • In the macro, you use the Help method to display help in Microsoft Word 97.

    -and-
  • After displaying Help in Microsoft Word 97, you use the Quit method to close the instance of Microsoft Word 97.

WORKAROUND

To prevent this problem from occurring, use the Assistant object and the Help method together rather than the Help method by itself to display Help in Microsoft Word 97. For example, use the following

WordApp.Assistant.Help

but don't use the following:

WordApp.Help helptype:=wdHelp

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

In Visual Basic for Applications macros, you can use the CreateObject and GetObject methods of OLE Automation to communicate with and control other programs. For example, a macro in Microsoft Excel 97 can start and control an instance of Microsoft Word 97.

If you use OLE Automation to control an instance of Microsoft Word 97, you may receive an error if you use the Help method to display Help in Microsoft Word 97 and then quit the instance of Microsoft Word 97 without first closing the Help window.

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. The following sample macro illustrates the steps necessary for the problem to occur:
   Sub Test()
       Dim WordApp As Object

       'Begin using OLE Automation to communicate with Microsoft Word 97.
       Set WordApp = CreateObject("Word.Application")
       WordApp.Visible = True
       AppActivate WordApp.Name

       'Display Help in Microsoft Word 97. Using this line of code will
       'ultimately cause the problem to occur.
       WordApp.Help helptype:=wdHelp

       'Quit Microsoft Word 97. The crash actually occurs here.
       WordApp.Quit
       Set WordApp = Nothing
   End Sub
				
If you replace the following line
   WordApp.Help helptype:=wdHelp
				
with the following line
   WordApp.Assistant.Help
				
the error does not occur.

Modification Type:MajorLast Reviewed:6/18/2005
Keywords:kbcode kberrmsg kbProgramming KB161805