Microsoft KB Archive/169544

From BetaArchive Wiki
Knowledge Base

Article ID: 169544

Article Last Modified on 1/19/2007


  • Microsoft Word 97 Standard Edition

This article was previously published under Q169544


When you use the ReadabilityStatistics collection in Visual Basic for Applications, you may receive the following error:

This program has performed an illegal operation and will be shut down.

If the problem persists, contact the program vendor.

When you click Details (on Microsoft Windows Millennium Edition, press ALT+D), you receive the following message:

WINWORD caused an invalid page fault in WINWORD.EXE at address.

NOTE: The actual memory address may vary.


To work around this problem, use the WordBasic ToolsGrammarStatisticsArray command.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected in Microsoft Word 2000.


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 a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

For more information about how to use the sample code in this article, click the article number below to view the article in the Microsoft Knowledge Base:

173707 OFF97: How to Run Sample Code from Knowledge Base Articles

The following is the syntax and an example of how to use the WordBasic ToolsGrammarStatisticsArray in a Visual Basic for Applications macro.


ToolsGrammarStatisticsArray TwoDimensionalArray$()

This statement runs the grammar checker, and then fills a two-dimensional array with the available grammar statistics for the active document.

Argument Explanation
TwoDimensionalArray$() The two-dimensional array (which must be defined before ToolsGrammarStatisticsArray is run) to fill with the names of counts, averages, and indexes (the first dimension) and their associated statistics (the second dimension).

The following sample Visual Basic for Applications macro uses the WordBasic ToolsGrammarStatisticsArray command to define a two-dimensional array for storing grammar statistics, fills the array with grammar statistics for the active document, and then displays the returned values in a message box (names of counts, averages, and indexes on the left and their associated statistics on the right).

Sub StatisticsArray()

   Dim iSize As Integer
   Dim dStats() As String

   Selection.TypeText "This is a test."

   ' Return the number of statistics to the
   ' variable iSize and redimension the array
   ' to hold those values.
   iSize = WordBasic.CountToolsGrammarStatistics() - 1
   ReDim dStats(iSize, 1)

   ' Use the WordBasic command to return statistics.
   WordBasic.ToolsGrammarStatisticsArray dStats()

   ' Loop through and display statistics.
   For Count = 0 To iSize
      MsgBox dStats(Count, 0) + ": " +  dStats(Count, 1)
End Sub

Additional query words: 8.0 vb vbe vba ipf

Keywords: kbbug kberrmsg kbfix kbprogramming KB169544