OFF97: Error Using Help Method with Microsoft Word 97

ID: Q161805


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


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, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
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.

Additional query words: 8.00 97 OFF97 XL97 WORD97 ACC97 PPT97

Keywords : kbcode kberrmsg kbprg xlvbainfo offhelp offinterop
Version : WINDOWS:97
Platform : WINDOWS
Issue type :


Last Reviewed: November 9, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.