PRODUCTIVITY PAGE: WORD MACROS
    This page consists of macros, suggestions, tips and other information to increase typing productivity
    in Word. There is a companion page for WordPerfect. If you have a macro, tip or suggestion you
    think is useful and increases productivity, and would like to  post it (with attribution to you or
    whoever created it), please send it to me (agjon@earthlink.net).

    An MT friend named Harrie, who likes the ABCZ rule for two-word phrases (abab), suggested a macro
    to select two-word phrases for entry into Instant Text when building a glossary. Ed Weber graciously
    wrote the macro, and a few more for Word, which are shown below. (BTW, Harrie has opened the
    very useful Productivity Talk forum)

    1. Word Macro: Selects previous two words and makes an entry in AUTOCORRECT in the form of
    first two letters of each word. Works with Word 2000 and higher. Idea by Harrie. Macro by Ed
    Weber.

    Sub Send_Selection_to_AutoCorrect()
    'Code by Ed Weber
    Dim strShortForm As String
    Dim oACEntry As AutoCorrectEntry
    'Select the last two words
    Selection.MoveLeft Unit:=wdWord, Count:=2, Extend:=wdExtend
    'make strShortForm = first two letters of each word
    strShortForm = LCase(Left(Selection.Words(1).Text, 2) & _
    Left(Selection.Words(2).Text, 2))
    For Each oACEntry In AutoCorrect.Entries
    'check for existing entry
    If oACEntry.Name = strShortForm Then
    Response = MsgBox("The autocorrect name '" & strShortForm & "' with a value of '" & _
    oACEntry.Value & "' already exists." & vbCr & _
    "Do you want to overwrite this entry?", vbYesNo, "AutoCorrect Macro ")
    If Response = vbNo Then End
    Exit For
    End If
    Next oACEntry
    AutoCorrect.Entries.Add Name:=strShortForm, Value:=Selection.Text
    End Sub

    2. Word Macro: Selects previous two words for entry into current INSTANT TEXT glossary.
    Works with Word 2000 and higher.  Idea by Harrie. Macro by Ed Weber.

    Sub Select_and_Send_to_IT()
    'code by Ed Weber 03/07/04
    'Place the cursor immediately to the right of the two target words.
    'The macro will select the two words to the left of the cursor
    'then activate Instant Text.
    Selection.MoveLeft Unit:=wdWord, Count:=2, Extend:=wdExtend
    SendKeys "%="
    End Sub

    3. Word Macro: Selects previous word for entry into current INSTANT TEXT glossary.
    Works with Word 2000 and higher. Idea by Harrie. Macro by Ed Weber.
     
    Sub Select_One_and_Send_to_IT )
    'code by Ed Weber 03/07/04
    'Select the last word
    Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
    'activate Instant Text
    SendKeys "%="
    End Sub

    4. Word Macro: Removes 1 or 2 spaces after the decimal point in a number. Works with Word 2000
    and higher. Macro by Ed Weber.

    Sub Delete_Space_After_Decimal_Point()
    'code by Ed Weber
    'Will remove one or two spaces after the
    'decimal point in a number.
    Dim rngdoc As range
    Dim rngFind As range
    Dim Count As Long
    Dim blSmartCutPaste As Boolean
    Dim Iteration As Integer
    Count = 0

    'Remember SmartCutandPaste setting then
    'make it false
    blSmartCutPaste = Options.SmartCutPaste
    Options.SmartCutPaste = False

    'Process one space after decimal point during
    'the first iteration then process two spaces
    'after decimal point during the second iteration
    For Iteration = 1 To 2
      Set rngdoc = ActiveDocument.range.Duplicate
      With rngdoc.Find
      .ClearFormatting
      If Iteration = 1 Then
        .Text = "[0-9]. [0-9]"
      Else
        .Text = "[0-9].  [0-9]"
      End If
      .MatchWildcards = True
      .Wrap = wdFindContinue
      While .Execute
        If .Found Then Count = Count + 1
        Set rngFind = rngdoc.Duplicate
        rngFind.SetRange Start:=rngFind.Start + 2, _
          End:=rngFind.End - 1
        rngFind.Delete
      Wend
      End With
    Next Iteration
    'Restore SmartCutandPast setting
    Options.SmartCutPaste = blSmartCutPaste
    'Show the results
    MsgBox str(Count) & " changes made.", vbOKOnly, "Macro by Ed Weber"
    End Sub



    For expert advice on MS Word:

    Cheryl Flanders' Tips 'N Techniques
     

    Return to Home             More Productivity Links        Productivity Page on WordPerfect