File:KarenBojdaMacros.doc CELmacros.doc is a Word 97/98 document, created in Word 98 for the Mac. It contains nine macros, listed below. Note that these have not been tested on Windows or on other versions or Word, or indeed on any computer other than my own Mac, but I have no reason to believe that these extremely simple macros won't work on any version of Word that uses VBA (as opposed to Word Basic, which was used by early versions of Word). I offer these macros as is, with no warranty of any kind. I hope you find them useful. The code for these macros is in CELmacros.doc in a module called BojdaMacros, which can be copied into another document or preferably a template (such as your Normal template) using the Organizer. If you prefer to cut and paste individual macros, the text for these macros also appears at the end of this document. ascii Displays the ASCII value, font name, Word character number, and Unicode for the selected character (or the first character of the current selection; it displays somewhat cryptic results if nothing is selected). myStyles Creates a list (in a new untitled document) of the paragraph styles actually used in the active document. deleHyperlinks Deletes all hyperlinks in the current document, leaving the URLs as regular text. convertThisAutolistItem Converts the bullet or number of an item in an automatic list to regular, selectable text. Note that this will affect the numbering of subsequent items in the list. convertThisAutolist Converts the bullets or numbers of the current automatic list to regular, selectable text. Note that items that "continue" an interrupted list are also converted since Word consider them to be part of the list. convertAllAutolists Converts the bullets or numbers of all automatic lists in the current document to regular, selectable text. Highly recommended! transposeChars Transposes the characters on either side of the insertion point. If one or more characters are selected, transposes the selected character(s) with the preceding character. transposeWords Transposes the current word (i.e., the word in which the cursor rests, that the cursor rests in front of, that the cursor rests at the end of, or that is currently selected) with the preceding word. Note that it does not correct spacing around punctuation. If more than one word is selected or partially selected, the whole words are transposed with the single preceding word. revShowToggle Toggles on or off the on-screen display of revision marks. Note that it does not alter whether changes are tracked. It simply toggles the "Highlight changes on screen" setting. These are simple macros that do nothing particularly earth-shattering. For me, their greatest utility is in reducing the number of actions needed to accomplish a particular task because I assign a keystroke to them. For instance, I can now transpose two characters or two words with a single keystroke. Enjoy! Karen L. Bojda Bojda Editorial & Writing Services kbojda@bojda.com http://www.bojda.com *** Sub ascii() ' ascii Macro ' Displays ASCII code, char num, and Unicode of first char of selection ' Dim myStr As String Dim myChr As Integer myChr = Asc(Selection.Text) With Dialogs(wdDialogInsertSymbol) myStr = "ASCII: " & myChr & vbCrLf & "Font: " & .Font & vbCrLf & _ "Char number: " & .CharNum & _ vbCrLf & "Unicode: " & (65536 + .CharNum) End With MsgBox Prompt:=myStr, Title:=Chr$(myChr) End Sub Sub myStyles() ' myStyles Macro ' Written 5/30/01 by Karen Bojda ' Creates a list of styles actually used in the current doc, ' puts list in a separate doc ' Dim graf As Paragraph, oldStyle As Style, myStyleList As String, x As String myStyleList = ActiveDocument.Paragraphs(1).Style ' for each graf, get style For Each graf In ActiveDocument.Paragraphs x = graf.Style ' add style if not already in list If InStr(myStyleList, x) = 0 Then myStyleList = myStyleList & Chr(13) & x End If Next Documents.Add Selection.TypeText (myStyleList) End Sub Sub deleHyperlinks() ' deleHyperlinks Macro ' Deletes all hyperlinks in all stories of a document, ' leaves URLs as regular text ' Dim myStory As Word.Range For Each myStory In ActiveDocument.StoryRanges For I = 1 To myStory.Hyperlinks.Count myStory.Hyperlinks(1).Delete Next Next End Sub Sub convertThisAutolistItem() ' convertThisAutolistItem Macro ' Converts automatic list bullet or number to regular text for current item ' Selection.Range.ListFormat.ConvertNumbersToText End Sub Sub convertThisAutolist() ' convertThisAutolist Macro ' Converts automatic list bullets or numbers to regular text for current list ' Note that what Word considers a "single list" can sometimes be confusing! ' Selection.Range.ListFormat.List.ConvertNumbersToText End Sub Sub convertAllAutolists() ' convertAllAutolists Macro ' Converts all automatic lists' bullets or numbers to regular text ' for current document ' ActiveDocument.ConvertNumbersToText End Sub Sub transposeChars() ' transposeChars Macro ' transposes the characters on either side of the insertion point ' Selection.Expand (wdCharacter) Selection.Cut Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.Paste End Sub Sub transposeWords() ' transposeWords Macro ' transposes the words on either side of the insertion point ' Selection.Expand (wdWord) Selection.Cut Selection.MoveLeft Unit:=wdWord, Count:=1 Selection.Paste End Sub Sub revShowToggle() ' revShowToggle Macro ' toggles the ON-SCREEN DISPLAY of revision marks ' DOES NOT alter "track changes" ' ActiveDocument.ShowRevisions = Not ActiveDocument.ShowRevisions End Sub