#1
|
|||
|
|||
URGENT!!! Powerpoint Image Formatting and Positioning Macro
Hello,
I'm in great need of a macro that will help me do the following; Change the height of the picture to 15.5, Change the width of the picture to 16.09, Change the horizontal position of the picture to 9, Change the vertical position of the picture to 3.46. and give a black shape outline to the image. If somebody could help me out with this code I will be very grateful. Thank you for your time. |
#2
|
|||
|
|||
That doesn't seem too difficult but some more info will help.
15.5 what? cm, inches, points ditto 16.09 etc Will the picture be selected? Black Outline , what line weight? |
#3
|
|||
|
|||
all of the figures are in cms and the shape outline is to be black and the picture will be selected.
Thanks... |
#4
|
|||
|
|||
OK
PowerPoint works in points in the object model so you need a user defined function to convert your figures to points. Code:
Sub fix_Pic() If ActiveWindow.Selection.Type <> ppSelectionShapes Then Exit Sub With ActiveWindow.Selection.ShapeRange(1) .Left = cm2Points(9) .Top = cm2Points(3.46) .LockAspectRatio = False .Width = cm2Points(16.09) .Height = cm2Points(15.5) .Line.ForeColor.RGB = vbBlack .Line.Weight = 2 'change weight here End With End Sub Function cm2Points(inVal As Single) cm2Points = inVal * 28.346 End Function |
#5
|
|||
|
|||
Thank you, it works great you saved me from so much work . One last request. Could you write a code that will work for all of the pictures in the slide show?
Thank you very much I'm in great debt. |
#6
|
|||
|
|||
This should work on all pics. Obviously if there is more than one pic per slide they will superimpose!
Code:
Sub fix_Pic_all() Dim opic As Shape Dim osld As Slide For Each osld In ActivePresentation.Slides For Each opic In osld.Shapes If opic.Type = msoPicture Then With opic .Left = cm2Points(9) .Top = cm2Points(3.46) .LockAspectRatio = False .Width = cm2Points(16.09) .Height = cm2Points(15.5) .Line.ForeColor.RGB = vbBlack .Line.Weight = 2 End With End If Next opic Next osld End Sub Function cm2Points(inVal As Single) cm2Points = inVal * 28.346 End Function Last edited by JohnWilson; 12-21-2011 at 01:58 AM. |
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Positioning drawing elements in Powerpoint | TdeV | PowerPoint | 2 | 09-20-2014 06:56 AM |
Issues formatting image behind text in Word (Mac 2008). | wildberrykt | Word | 0 | 11-23-2011 07:12 AM |
VBA PowerPoint iBrowse Urgent Help! | mike | PowerPoint | 0 | 04-04-2011 04:29 PM |
Positioning Slide Titles | genericusername | PowerPoint | 3 | 03-17-2011 05:43 AM |
Powerpoint + paste in image with fixed width | erki | PowerPoint | 0 | 09-19-2010 11:23 PM |