AuthorsDen.com   Join | Login    
Where Authors and Readers come together!

SIGNED BOOKS    AUTHORS    BOOKS    SAMPLE CHAPTERS    AUDIOBOOKS    eBOOKS    STORIES    ARTICLES    POETRY    BLOGS    NEWS    VIDEOS    SUCCESS    TESTIMONIALS

Featured Authors:  Mary Lynn Plaisance, iRochelle Brandon, iRobert Liu, iFlo Fitzpatrick, iTichaona Chinyelu, iJeff Ovall, iTeresa Walker, iBrendan O'Brien, iRaven West, iMargaret Mullings, i

  Home > Publishing > Articles Popular: Books, Stories, Articles, Poetry      Authors: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z     

John Patrick Lamont

 Follow Me  

· Contact Me
· Books
· Articles
· 8 Titles
· 1 Reviews
· Save to My Library
· Share with Friends!
·
Member Since: Apr, 2008

John Patrick Lamont, click here to update your pages on AuthorsDen.


Help For Word Frequency Macro
by John Patrick Lamont   
Rated "G" by the Author.
     
Recent articles by
John Patrick Lamont

• Burnt Offerings – Sacrificing Insurance and Investment Clients
• Client Enslavement Using Golden Handcuffs and Intimidation
• Corporate Body Snatching and Client Rustling
• Register Your Copyright Electronically
• Style Sheets - Author's Writing Tools
           >> View all

Here's some additional instruction for those having some trouble with the MS Word - Word Frequency Macro.

There apparently is some confusion concerning the procedure for using the Word Frequency marco.  To help get it working for you, I've listed the way I use for patching macros into MS Word.

Also, of anyone has tried to contact me through my web sites, they are not lost. I'm in the process of designing and building them.  I would have liked to pay someone else to do it like many people do, but I can't afford it right now.  Self-publishing tends to be a bit expensive.  I'm sorry for any inconvenience or frustration the macro might or my web sites might have caused anyone.  I hope to have them up and running soon.
 
Try this procedure for using this macro.  I have tested it and it works fine with Word 2000.  If you have a different version of Word, you may have to adjust the procedure to work with your version.
 
1. Open the Macro box.  That's "Tools>Marco>Macros."

2. When the Macros window pops up, clear the window for "Macro Name:" and enter what you want to call the macro.  I called it, "WordFrequency1"

3. Click "Create."  This will create a blank macro.

4. Click on "WordFrequency1" then "Edit."  The "MicroSoft Visual Basic - Normal" editor will pop up.

5. Under "' WordFrequency1 Marco" (if that's what you called it,) and your name, paste the entire macro program from "Const maxwords = 20000" including "" different words ", vbOKOnly, "Finished")" to the end just before "End Sub."

6. In the "MicroSoft Visual Basic - Normal File" menu, click "Close and Return to MicroSoft Word."

7. Return to the Macro window, highlight the "WordFrequency1" macro and click "Run."  It will open a new Word document, count the words for you and list the totals.  Keep in mind that you must have a document with words loaded into Word so it will have something to count.  If you still have errors, please consult your Word manual.  You may not be entering the program properly.
 
Good luck and please let me know how it worked out for you.  If you still have errors, please be specific what the kind of error it is.  The errors are shown in red in the "MicroSoft Visual Basic - Normal" editor.
 
Sincerely,
John Patrick Lamont
 
Here's a copy for reference directly from my Word macros:
 
Sub WordFrequency1()
'
' WordFrequency1 Macro
    Const maxwords = 20000         'Maximum unique words allowed
    Dim SingleWord As String       'Raw word pulled from doc
    Dim Words(maxwords) As String  'Array to hold unique words
    Dim Freq(maxwords) As Integer  'Frequency counter for unique words
    Dim WordNum As Integer         'Number of unique words
    Dim ByFreq As Boolean          'Flag for sorting order
    Dim ttlwds As Long             'Total words in the document
    Dim Excludes As String         'Words to be excluded
    Dim Found As Boolean           'Temporary flag
    Dim j, k, l, Temp As Integer   'Temporary variables
    Dim ans As String              'How user wants to sort results
    Dim tword As String            '
 
    ' Set up excluded words
    Excludes = "[the][a][of][is][to][for][by][be][and][are]"
 
    ' Find out how to sort
    ByFreq = True
    ans = InputBox("Sort by WORD or by FREQ?", "Sort order", "WORD")
    If ans = "" Then End
    If UCase(ans) = "WORD" Then
        ByFreq = False
    End If
   
    Selection.HomeKey Unit:=wdStory
    System.Cursor = wdCursorWait
    WordNum = 0
    ttlwds = ActiveDocument.Words.Count
 
    ' Control the repeat
    For Each aword In ActiveDocument.Words
        SingleWord = Trim(LCase(aword))
        'Out of range?
        If SingleWord < "a" Or SingleWord = "z" Then
            SingleWord = ""
        End If
        'On exclude list?
        If InStr(Excludes, "[" & SingleWord & "]") Then
            SingleWord = ""
        End If
        If Len(SingleWord) > 0 Then
            Found = False
            For j = 1 To WordNum
                If Words(j) = SingleWord Then
                    Freq(j) = Freq(j) + 1
                    Found = True
                    Exit For
                End If
            Next j
            If Not Found Then
                WordNum = WordNum + 1
                Words(WordNum) = SingleWord
                Freq(WordNum) = 1
            End If
            If WordNum > maxwords - 1 Then
                j = MsgBox("Too many words.", vbOKOnly)
                Exit For
            End If
        End If
        ttlwds = ttlwds - 1
        StatusBar = "Remaining: " & ttlwds & ", Unique: " & WordNum
    Next aword
 
    ' Now sort it into word order
    For j = 1 To WordNum - 1
        k = j
        For l = j + 1 To WordNum
            If (Not ByFreq And Words(l) < Words(k)) _
              Or (ByFreq And Freq(l) > Freq(k)) Then k = l
        Next l
        If k <> j Then
            tword = Words(j)
            Words(j) = Words(k)
            Words(k) = tword
            Temp = Freq(j)
            Freq(j) = Freq(k)
            Freq(k) = Temp
        End If
        StatusBar = "Sorting: " & WordNum - j
    Next j
 
    ' Now write out the results
    tmpName = ActiveDocument.AttachedTemplate.FullName
    Documents.Add Template:=tmpName, NewTemplate:=False
    Selection.ParagraphFormat.TabStops.ClearAll
    With Selection
        For j = 1 To WordNum
            .TypeText Text:=Trim(Str(Freq(j))) _
              & vbTab & Words(j) & vbCrLf
        Next j
    End With
    System.Cursor = wdCursorNormal
    j = MsgBox("There were " & Trim(Str(WordNum)) & _
      " different words ", vbOKOnly, "Finished")
End Sub
 


Want to review or comment on this article?


Need a FREE Reader Membership?
Popular Publishing Articles
  1.  Writing Advice From William Faulkner
  2.  Suggestion for Amazon KDP Look Inside
  3.  Writing Advice From Maya Angelou
  4.  LA Times Festival of Books 2018
  5.  Mining The Past For Hope and Motivatio
  6.  The Paranormal Suspense Game: An Inter
  7.  Writing Advice From F. Scott Fitzgeral
  8.  Writing Advice From Ray Bradbury
  9.  Creating Suspense
  10.  Writing and Life Quotes From Gene Rodd
  11.  Writing And Life Advice From Somerset
  12.  How To Be Productive
  13.  The art of writing well
  14.  Writing Advice From Ayn Rand
  15.  Writing Advice From Henry Miller
  16.  I Have The Really Great Idea for a Boo
  17.  West Publishing, St Paul, Canadian Own
  18.  Three Reasons Why Writers Must Get to
  19.  Transmedia Story-Telling (in a Hologra
  20.  Writing Advice From Mark Twain
  21.  Text and Meaning in: Elemental the Pow
  22.  Writing Advice From Edgar Allen Poe 2
  23.  Writing Advice From John Steinbeck
  24.  21st Century Digital Authors on the Ri
  25.  Tattoos

Free Book Review Program
Select a book to read and review today!

I Have A Reason To Smile by R.E.E.S Blogs Linda Smith, Publisher

This book is about Poetry. Many different kinds of fables, short stories about life experiences, laughter, drama, children, humor, love, inspiration and some urban styles of poetry.  
Member BookAds

Are You Still Submitting Your Work to a Traditional Publisher? by Edward Patterson

With the new and exciting world of Kindles and Print-on-Demand (POD), Independent Publishing is becoming an enticing choice and a viable alternative to traditional publishing.  
Member BookAds

Free Download - TrendSiters - Digital Content and Web Technologies by Sam Vaknin

Essays dedicated to the new media, doing business on the web, digital content, its creation and distribution, e-publishing, e-books, digital reference, DRM technology, and other related issues.  
Member BookAds