#1
|
|||
|
|||
Inserting and formatting photos in word 2013
Hello,
I have one problem, consisting of two issues. I use a lot of pictures in word reports, as to date in previous word versions I could easily process my pictures with a vba macro. In order not to waste too much time I drag and drop the pictures in their required space, as an inlineshape and then resize these pictures to the required size. As from word 2013 I noticed an oddity. The pictures which you drag and drop are sometimes inlineshape and sometimes not. As a result the macro not always works. Moreover when the macro does work, it encounters different issues which I did not encounter in previous word versions. To recap, the goal is to drop a photo (jpg) into a word document and be able to run a macro on it with a hotkey. The required actions are lock the aspect ratio, resize the width and fit the photo with a black solid border. The current used macro is as follows: Code:
Sub AfbeeldingImporteren() ' ' ResizeImage Macro ' Dim shape As InlineShape ' iterate all selected shapes For Each shape In Selection.InlineShapes ' remain aspect ratio shape.LockAspectRatio = msoTrue ' set width to 225 px newWidth = 225 ' shape.Height = (newWidth / shape.Width) * shape.Height shape.Width = newWidth ' Add Borders Selection.InlineShapes(1).Line.Weight = 0.75 Selection.InlineShapes(1).Line.DashStyle = msoLineSolid Selection.InlineShapes(1).Line.Visible = msoTrue Selection.InlineShapes(1).Line.ForeColor.RGB = RGB(0, 0, 0) Next ' ' End Sub |
#2
|
||||
|
||||
The picture insertion behaviour is primarily determined by your Word options. Under File|Options|Advanced>Cut, Copy & Paste>Insert/Paste pictures as, you can choose 'In-line with text' or one of the floating formats. Only the 'In-line with text' option will give you the behaviour desired for your macro. Even with that option, however, if you drag & drop an image that's in a 'floating' format from another document, or from another location in the same document, the format won't change to 'In-line with text' at the destination.
Try the following revision to your code. Do note that any Shape objects that get converted to InlineShapes are liable to change position to wherever they are anchored. Code:
Sub AfbeeldingImporteren() Dim i As Long With Selection 'Convert floating shapes to inline For i = .ShapeRange.Count To 1 Step -1 .ShapeRange(i).ConvertToInlineShape Next 'process all InlineShapes For i = 1 To .InlineShapes.Count With .InlineShapes(i) ' retain aspect ratio .LockAspectRatio = msoTrue ' set width to 225 px newWidth = 225 .Width = newWidth ' Add Borders With .Line .Weight = 0.75 .DashStyle = msoLineSolid .Visible = msoTrue .ForeColor.RGB = RGB(0, 0, 0) End With End With Next End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
Dear Macropod,
thanks for your reply. I get a compiling error on line " With InlineShapes(i) " 'sub of function not defined'. I tried making it into .InlineShapes(i), however this brings on a whole new set of errors. Brgds, |
#4
|
||||
|
||||
You should be using 'With .InlineShapes(i)'. I have no idea what you mean by "this brings on a whole new set of errors".
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
using
Code:
With .InlineShapes(i) Code:
Runtime error '4198' Command Failed Code:
For i = .ShapeRange.Count To 1 Step -1 Tha |
#6
|
||||
|
||||
That suggests there may be a fault with your Office installation. Try repairing it (via Programs & Features > Microsoft Office > Change in the Windows Control Panel).
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
Tags |
formatting, inlinestyles, photos |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Help formatting Pictures inside a Text Box in Word 2013 | jstumbo87 | Word | 2 | 01-29-2014 12:07 PM |
Word 2013 vs Word 2010 formatting issue? | rhoyt | Word | 1 | 12-07-2013 09:40 AM |
TOC Page number Formatting - Word 2013 | Adam83 | Word | 6 | 11-01-2013 12:00 PM |
Inserting photos | casatropical | Word | 1 | 01-18-2012 10:30 AM |
Inserting / formatting multiple photos into Word doc. | Jeremiahts | Drawing and Graphics | 1 | 03-23-2011 07:33 PM |