How to Paste Non-Floating Pictures with a Macro

by Allen Wyatt
(last updated February 21, 2008)


Subscriber Jos Wessels wrote about a problem he was having with pasting pictures into a Word document. Since he pastes a lot of them, particularly into tables, he is interested in having them pasted inline instead of as floating pictures.

The behavior being described indicates that Word 97 is being used. By default, Word 97 would paste pictures as "float over" rather than "inline." Microsoft has since changed this behavior, as Word 2000 and Word 2002 both paste pictures inline by default. Microsoft even provided a Knowledge Base article that covers this very topic:;EN-US;q163808

The article includes a macro-based workaround. There is a simpler solution, however, that may work for most people's needs. You can record your own macro to do your placements. If you do so, however, you will need to do just a bit of editing. When you paste pictures Word does not allow you to go back and modify the graphic, within the macro recorder, to change whether the graphic is inline or floating. This behavior exists in not only Word 97, but also later versions of Word. Who knows why; the reasoning is not apparent since you can modify graphic attributes within VBA, just not in the macro recorder itself.

To create your own quick-and-dirty macro, follow these general steps:

  1. Copy a graphic to the clipboard.
  2. Turn on the macro recorder.
  3. Paste the graphic.
  4. Turn off the macro recorder.
  5. Use the VBA Editor to display the macro you just recorded. It should appear similar to the following:
     Sub PasteGraphic()
     ' PasteGraphic Macro
     ' Macro recorded 2/8/2002 by Allen L. Wyatt
     End Sub
  • Modify the macro so it appears as follows:
  •      Sub PasteGraphic()
         ' PasteGraphic Macro
         ' Macro recorded 2/8/2002 by Allen L. Wyatt
             Selection.PasteSpecial Placement:=wdInLine
         End Sub
  • Close the VBA Editor.
  • That's it. You now have a macro that will paste your graphic as inline.

    For related information, see the following topics and articles in WordTips Online Answers:

    Creating Macros:

    WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1600) applies to Microsoft Word 97.

    Author Bio

    Allen Wyatt

    With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...


    Adding an Equal Sign Tool

    Excel used to provide, prior to Excel 2002, an equal-sign tool near the Formula bar. If you miss this tool, you may want to ...

    Discover More

    Changing Macro Cell References Based on Edits

    Place a cell reference in a macro, modify the structure of your worksheet, and you may soon find that the cell reference in ...

    Discover More

    Open Workbooks Don't Display

    Have you ever opened a workbook, only to have it not display your worksheet data? This can be very disconcerting, but it ...

    Discover More

    Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!


    Determining an Integer Value

    One of the math functions you can use in your macros is the Int function. It provides a way for you to derive an integer ...

    Discover More

    Changing ToolTips for a Macro Button

    Want to change the ToolTip that appears when you hover the mouse over a button on a toolbar? It's a bit more involved than ...

    Discover More

    Creating a Directory

    Need to create a directory from within a macro? You can do it using a single command line, as detailed in this tip.

    Discover More

    FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

    View most recent newsletter.

    Comments for this tip:

    If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

    What is 9 + 8?

    2016-03-04 06:23:54

    Ken Endacott

    Jay B. I felt the same as you when I went through a leaning curve on switching to Object Orientated Languages after many years programming in "straight" languages.

    What you want to achieve requires a moderately complex VBA program and not just a few individual commands. There are plenty of VBA self-learn web sites but it will still require time, dedication and of course practice to achieve the necessary competence to write such a program.

    2016-03-03 12:54:31

    Jay B

    In searching through your Macros tips page I came upon this "How to Paste Non-Floating Pictures with a Macro" tip. Unfortunately it is not quite what I am looking for but it seems to be the closest that you come to covering it.
    I am running word 2003. What I am looking for is the VBA command or commands that I would use in a macro to obtain a list of the the picture files in a directory, (I assume that I would have to have them named so that they could be identified by selecting the files that matched a specified pattern). Then using that list I want to insert insert the pictures, perhaps just a specific number of them, into the document along with the unique portion of the file name. When the macro has finished I want the pictures to be inserted as Square layout, left justified to the margin, text wrap right, top aligned to the margin. The text containing the unique part of the file name needs to be at the top of the page right justified.
    I am a retired software developer so I understand programming, but these object oriented languages confound me. I look at the reference material and I have no idea where to look for what I want to accomplish, the organization of them is foreign to me and to the way the languages that I learned were documented.

    Newest Tips

    FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

    (Your e-mail address is not shared with anyone, ever.)

    View the most recent newsletter.

    Links and Sharing