Written by Allen Wyatt (last updated January 17, 2024)
This tip applies to Word 2016, 2019, and Word in Microsoft 365
As a creative writer Lars prefers using Word 365, but it is missing tools to boost motivation and productivity that he finds in some other word processors. For instance, Lars thinks it would be nice to have a way to set a writing goal in words and then let the tool count down as he writes. Or, perhaps generate statistics on how many words he writes per hour. He wonders if there is any add-on that can provide such tools in Word.
There is an add-in available that purports to do this called "1 Should Be Writing." You can find it in the Microsoft Store, even though it is free. To find this add-in, follow these steps:
At this point you should see the "I Should Be Writing" add-in as the first search result. You can click on it to get more details. The thing I noticed, right off the bat, is that the add-in doesn't have that great of a rating—as of this writing, only 2 stars out of 5. Even so, it may work for your purposes, and since it is free, there is no risk in trying it out.
A quick search for similar add-ins using terms like "goal," "motivate," and "statistics" turned up no other add-ins that will do what Lars wants. That being said, there may be other add-ins available, outside of the Microsoft Store ecosystem, that could provide the features Lars wants. I invite anyone to share their ideas in the comments, below.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (13706) applies to Microsoft Word 2016, 2019, and Word in Microsoft 365.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
When you instruct Word to tell you how many words are in a document, it treats hyphenated words or phrases as if they are ...
Discover MoreMost people use Word to create regular documents that you edit, view, and print. The program also allows you to create a ...
Discover MoreIf you are a teacher, you may be looking for ways you can use Word's features to correct papers your students send to you ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2019-12-01 10:23:10
Ken Endacott
For a more accurate count of words change the following statements:
StartCount = ActiveDocument.Words.Count
to
StartCount = ActiveDocument.Range.ComputeStatistics(wdStatisticWords)
NowCount = ActiveDocument.Words.Count
to
NowCount = ActiveDocument.Range.ComputeStatistics(wdStatisticWords)
2019-11-30 19:44:49
Ken Endacott
The following macros will place a small window at the top left of the screen to display the total number of words, the number added in the current session and the number added in the last hour. The totals are updated every minute.
Along with the macros it is necessary to create a user form of any size with the name ‘UserForm1’ and place in the form a label control called ‘Label1’. These are default names when created with the Visual Basic editor.
The macros and userform should be placed in a template file with a .dotm extension and the template file stored in the STARTUP folder. After re-starting Word the InitialiseWordCount macro can the run from the Developer > Macros command. Alternatively, the macro can be run from a button on the Quick Access Toolbar (QAT). Clicking on the x at the top right of the counter window will close the window and after a minute will shut down the macros.
Instructions on how to setup macros, templates and QAT buttons are available in various WordTips tools.
The counter will work in versions of Word from 2010 or higher. It will not work in Word for Mac. A shortcoming is that switching to another document will shut down the timer and the count will freeze.
Dim k As Long
Dim NowCount As Long
Dim StartCount As Long
Dim HourCount As Long
Dim OneMin(59) As Long
Sub InitialiseWordCount()
With UserForm1
.StartUpPosition = 0
.Left = 0
.Top = 0
.Width = 102
.Height = 54
.Caption = "Word counts"
With .Label1
.Left = 6
.Top = 0
.Width = 84
.Height = 28
End With
.Show vbModeless
End With
StartCount = ActiveDocument.Words.Count
For k = 0 To 59
OneMin(k) = StartCount
Next k
HourCount = StartCount
k = 0
WordCount
End Sub
Sub WordCount()
If Not UserForm1.Visible Then Exit Sub
NowCount = ActiveDocument.Words.Count
UserForm1.Label1.Caption = _
Str(NowCount) & " total in doc" & vbCrLf & _
Str(NowCount - StartCount) & " in session" & vbCrLf & _
Str(NowCount - OneMin(k)) & " in last 60 mins"
OneMin(k) = NowCount
k = k + 1
If k > 59 Then k = 0
' ----- loop back in one minute -----
Application.OnTime Now + TimeValue("00:01:00"), "WordCount"
End Sub
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments