![]() You can, if desired, play with the coding in the OnTm function to determine the best delay breakdown for the types of documents you use. ![]() The reason for this checking was covered earlier in this tip: the calculation of the word count and the formatting of the title bar information can take a while (in VBA terminology), and if your document is large, this can cause unwanted and noticeable delays in updating your document. If there are 11,000 to 20,000 words, then it is run every five seconds, and so on. If there are 10,000 or fewer words in your document, then the macro is run every second. It takes a look at the number of words in the current document and determines the interval between runnings of the NumberOfWords macro. This is where the third macro, OnTm, comes into play. It does this by using the OnTime feature of VBA, setting the restart time to be sometime within the next 20 seconds. The final thing that NumberOfWords does is to tell itself when to run again. If there are no windows open, then the macro simply displays "Microsoft Word" on the title bar. It then formats the output and displays it on the title bar for the window. If so, then it calls Word's internal coding to determine the number of words in the document. The number of pages and words can also be viewed on the status bar at the bottom of the Word window. The Word Count dialog box displays, as shown in the image at the beginning of this document. It checks to see if there are any windows open in Word. In the Proofing section, click Word Count. The NumberOfWords macro is the workhorse of this set. Its only purpose is to call the next macro, NumberOfWords, for the first time. The first macro, named AutoExec, will run automatically whenever Word starts. There are three macros included in this set, each of which does a different task. Private Function OnTm(ByVal lngWd As Long) As String OnTime Now + TimeValue(OnTm(lngWords)), "NumberOfWords" Caption = Format(lngWords, "#,#0") & " words - Microsoft Word" LngWords = myRange.ReadabilityStatistics(1).Value With this caveat in mind, consider the following set of macros: This means that constantly checking the word count could slow down your entire system, perhaps to an unacceptable degree. The internal code to calculate the word count for a document is rather slow, particularly as your documents get larger. Depending on the type of system you have, such a solution may not be acceptable you will need to conduct some tests to see if it is. It is possible to write a macro that would continuously check the word count in a document, and then display the result in another area of the document, such as the title bar or a toolbar button. Coding a macro that continually wrote a message to the status bar would mean the normal information would not get shown, so a solution that uses the status bar is probably not acceptable. The status bar is not reconfigurable via a macro, other than to show or hide the entire bar or write a message to it. Such a feature is not built in to Word, however. One thing that would be helpful is if the status bar showed the number of words in the document, as you were typing. For instance, the status bar shows the number of pages in the document and the line number on the current page. Word displays, on the status bar, a variety of information that can help you while you are writing.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |