首先,我的图表被复制为图片,并且当我尝试粘贴它时,该对象不支持此属性,或者在对于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
当前
预期
首先,我的图表被复制为图片,当我尝试粘贴它时,该对象不支持此属性,或者PPTPres.Slides(28)中的For Each oSh行发生了方法错误。但最终,...
尝试一下(示例代码):