2011-09-22 211 views
0

我是新的vba和宏在powerpoint ..什么是正确的语法来定位图像-30?如何在excel中使用vba在PowerPoint中移动图像?

PPT.ActiveWindow.View.GotoSlide 9 

Set PPApp = GetObject(, "Powerpoint.Application") 
' Reference active presentation 
Set PPPres = PPApp.ActivePresentation 
' Reference active slide 
Set PPSlide = PPPres.Slides _ 
    (PPApp.ActiveWindow.Selection.SlideRange.SlideIndex) 
' Copy chart as a picture 
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _ 
    Format:=xlPicture 
' Paste chart 
PPSlide.Shapes.Paste.Select 
' Align pasted chart 

Dim xyz As Shape 
Set xyz = PPSlide.Shapes.Selection 


PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True 
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True 
xyz.Top = xyz.Top - 30 

回答

1

修订

基于您的代码示例,我想你想尝试这样的:

PPSlide.Shapes.Paste.Select 
' Align pasted chart 

PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True 
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True 
PPApp.ActiveWindow.Selection.ShapeRange(1).Top = PPApp.ActiveWindow.Selection.ShapeRange(1).Top + 30 

你可以拿出指XYZ线。

+0

我试图实现类似的东西,但它不工作..看到我上面的更新代码。 – thedeepfield

+0

什么不起作用?你遇到了什么错误?要将图像向下移动到页面中较低的位置,您必须将ADD 30添加到顶部,而不是按代码显示的方式进行减除。 – PaulStock

+0

@odpogn,我根据你更新的代码更新了我的答案。 – PaulStock

相关问题