2011-09-22 215 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

相關問題