如何使用VBA在我现有的Powerpoint幻灯片中将图片放置在幻灯片的中心?

问题描述 投票:0回答:1

首先,我的图表被复制为图片,并且当我尝试粘贴它时,该对象不支持此属性,或者在对于PPTPres.Slides(28)中的每个oSh行]中发生了方法错误。但最终,我希望将我的图片粘贴到幻灯片28的中央,并稍小一些。谁能告诉我我在哪里做错了,应该如何纠正?

 Option Explicit

 Sub ExportChartsToPowerPoint_SingleWorksheettesting()

    'Declare PowerPoint Variables
    Dim PPTApp As Object
    Dim PPTPres As Object
    Dim PPTShape As Object
    Dim mySlide As Object
    Dim myslide2 As Object

        Dim i As Long


    'Declare Excel Variables
    Dim Chrt As ChartObject

If PPTApp Is Nothing Then _
Set PPTApp = CreateObject(class:="PowerPoint.Application")

On Error GoTo 0
        PPTApp.Visible = True

    'Create new presentation in the PowerPoint application.
      Set PPTPres = PPTApp.Presentations.Open(Filename:="\\fab2crp-nas1\home22\kkang2\Profile\Desktop\myassignment3\mypresentationsample.pptx")

   Dim ppSlide As PowerPoint.Slide
        Set ppSlide = PPTPres.Slides(28)

        Dim j As Integer
        For j = ppSlide.Shapes.Count To 1 Step -1
            If ppSlide.Shapes(j).Type = msoPicture Then
                ppSlide.Shapes(j).Delete
            End If
        Next j


With PPTPres.Slides(28)
Sheets(4).Range("A1:M34").CopyPicture
            ppSlide.Shapes.Paste
End With


    Dim oSh As Shape

        For Each oSh In PPTPres.Slides(28) '<---object doesn't support this property or method
            With oSh
                If .Type = msoLinkedPicture _
                Or .Type = msoPicture Then

                ' position it to taste
                .Left = 100
                .Top = 100

                End If
            End With
        Next    ' Shape

End Sub

当前

enter image description here

预期

enter image description here

首先,我的图表被复制为图片,当我尝试粘贴它时,该对象不支持此属性,或者PPTPres.Slides(28)中的For Each oSh行发生了方法错误。但最终,...

excel vba charts powerpoint
1个回答
0
投票

尝试一下(示例代码):

© www.soinside.com 2019 - 2024. All rights reserved.