Excel VBA,添加新幻灯片到PPT时出现错误438
我试图在已打开的excel文件中的每个图表的现有PowerPoint演示文稿中添加silde。 VBA不断抛出错误。 在这里pptApp.ActivePresentation.Add我不断收到一个错误,该对象不支持方法并在这里ActiveChart.ChartArea.Copy该对象variables没有设置。
是如同绝望吗?
Option Explicit #Const EARLYBINDING = False Sub CopyAndLinkAllChartsToExistingPPT() #If EARLYBINDING Then Dim pptApp As PowerPoint.Application Dim pptPres As PowerPoint.Presentation Dim pptSlide As PowerPoint.Slide #Else Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Const ppLayoutTitle = 1 #End If Dim workS As Worksheet Dim chartS As Excel.ChartObjects Dim workS_Count As Integer Dim chartS_Count As Integer Dim W As Integer Dim C As Integer 'Declaring PPT objects Set pptApp = GetObject(, "PowerPoint.Application") Set pptPres = pptApp.Presentations.Add(msoTrue) Set pptSlide = pptPres.Slides.Add(1, ppLayoutTitle) 'Declaring Excel objects Set workS = ActiveWorkbook.worksheets(1) Set chartS = workS.ChartObjects 'Amount of worksheets and charts for the loops workS_Count = ActiveWorkbook.worksheets.Count chartS_Count = workS.ChartObjects.Count 'Nested loop for all the worksheets and charts For W = 1 To workS_Count For C = 1 To chartS_Count pptApp.ActivePresentation.Add pptApp.ActivePresentation.Slides.Count 1, ppLayoutTitle pptApp.ActiveWindow.View.GotoSlide pptApp.ActivePresentation.Slides.Count Set pptSlide = pptApp.ActivePresentation.Slides(pptApp.ActivePresentation.Slides.Count) chartS.Select ActiveChart.ChartArea.Copy 'Pasting chart in PowerPoint slide with a data link pptSlide.Shapes.PasteSpecial link:=msoTrue Next C Next W ' Clearing the objects Set pptApp = Nothing Set pptPres = Nothing Set pptSlide = Nothing Set workS = Nothing Set chartS = Nothing End Sub
我认为当你添加幻灯片的时候,你会发现错误。 你已经创build了一个演示文稿,所以你只需要添加幻灯片和粘贴图表? 你在循环中做什么(和错误的)是为每个需要粘贴的图表添加一个新的演示文稿,然后为它添加幻灯片。
试着简化它:
For W = 1 To workS_Count For C = 1 To chartS_Count Set pptSlide = pptPres.slides.add(pptPres.slides.count, ppLayoutTitle) chartS(chartS_Count).Select ActiveChart.ChartArea.Copy 'Pasting chart in PowerPoint slide with a data link pptSlide.Shapes.PasteSpecial link:=msoTrue Next C Next W
- 用python / xlrd比较两张单独表格的excel数据
- Excel VSTO ClickOnce从Apache服务器安装抛出一个错误“dll.manifest,有一个不同于清单中指定的计算散列”。
- 将HSSFWorkbook投射到工作簿
- 如何编写CPLEX解决scheme以实现卓越
- 如果在date1和2之间回应绿色。 如果在date3和4之间回应蓝色
- 从Application.CommandBars 中删除CommandBarButtons不是从ThisAddIn_Shutdown事件上的所有打开的工作簿中删除它们
- 从webservices中导入excel到sqllite数据库而无需下载
- VBA – 使用数字select列?
- 将Excel VBA中的variables数组传递给WCF函数