Inserting text is a common occurrence in macros. You may need the macro to insert numbers, do some standardization on wording, or some other text insertion. The following VBA code lines each insert a different type of text:
Selection.TypeText Text:="this text" Selection.TypeText Text:=MyText Selection.InsertParagraph
Each of the three lines inserts something at the current insertion point. The first line inserts everything between the quote marks, the second inserts the value of the MyText variable, and the third inserts a paragraph mark (an empty line).
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1406) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Inserting Text with a Macro.
Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!
Wouldn't it be great if Word could execute a macro every time someone typed in a particular keyword or phrase? Word may ...
Discover MoreDesigning a macro to make it run faster.
Discover MoreIf you store information within a variable array, at some point in your macro you may want to get rid of that ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2016-04-17 06:59:36
Ken Endacott
Mike,
This should do what you want.
Sub LeftAndRight()
Dim leftString As String
Dim rightString As String
Dim printWidth As Single
With ActiveDocument.PageSetup
printWidth = .PageWidth - .LeftMargin - .RightMargin - .Gutter
End With
loopback:
leftString = InputBox("Text to the left")
If leftString = "" Then Exit Sub
rightString = InputBox("Text to the right")
If rightString = "" Then Exit Sub
Selection.TypeText leftString & Chr(9) & rightString
With Selection.Paragraphs(1).TabStops
.ClearAll
.Add Position:=printWidth, _
Alignment:=wdAlignTabRight, Leader:=wdTabLeaderSpaces
End With
Selection.TypeText vbCrLf
GoTo loopback
End Sub
2016-04-17 00:37:56
I would like to type text left aligned, then type different text right aligned, on the same line, from VBA. Do you know how to do that?
Thanks,
Mike
2015-10-07 00:15:49
sunwukong
I have text like this aaa bbb ccc U+21d73
I would like to be able to search thru the text and copy the 21d73 part and a trailing space just after the U+21d73 part and then insert the 21d73 part and then highlight only that part and once selected reveal / convert it to a Chinese Character (CTRL+X). Then loop back to find the next U+ character code.
2015-09-09 14:05:00
Bill
Well, this used to work great for word 2010 to insert standard comments into a work comment field. Now with 2013, this is, of course, broken. "the typetext method or property is not avaialble because the current selection is editing a non editable portion of the reviewing pane" which is a complete piece of bunk; it *is* editing the editable portion of the reviewing pane, as evidenced by my typing into it. More de-contented SW from the people who thoguht nausea-inducing cursors were more useful than macros. Arrgh
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2021 Sharon Parq Associates, Inc.
Comments