如何将宏添加到Word 2010或PowerPoint 2010图表中?
在PowerPoint 2010或Word 2010中,当我选择“插入” - >“图表”时,它会为数据创建一个包含Excel工作表的新图表。
如果我将宏添加到Excel工作表中,当我关闭工作表并重新打开它时,这似乎被丢弃。
但是,可能会有一个包含宏的图表,因为我还有一些在Office 2003中创建的Word文档和PowerPoint演示文稿,这些演示文稿嵌入了带有宏的Excel图表。 当我将它们转换为Office 2010时,它们看起来就像“正常”的Office 2010图表,但宏被保留。
在我看来,当您选择“插入” - >“图表”处于“pptx”格式而不是“pptm”格式时会创建嵌入图表,因此不保存宏。
(如果查询ActiveWorkbook.FileFormat,我会得到“51”,即“Open Xml Spreadsheet”;这确实是“pptx”,与“Open Xml Spreadsheet with Macros”相反,即“52”)。
如何插入带有“pptm”行为的图表? 或者改变现有图表的行为?
注意:我不想插入图表“对象”,因为这意味着图表在主机应用程序内不可编辑(它只是插入一个Excel图表,您需要“打开”才能编辑它)。
让我给你一个开始......我可以通过以下方法达到我想要的效果:
现在您拥有了一个“原生”Word或PowerPoint 2010图表,您可以直接在Word或PowerPoint中进行编辑。 如果您单击图表并选择图表工具 - >设计 - >编辑数据,则打开的Excel工作表中包含您在步骤4中创建的宏。成功!
现在,有没有人有更简单的方法?
在我看来,你可以通过以下方式实现你所需要的:
(不幸的是,由于我使用的是本地而非英文版的Office,因此无法使用图片和精确的英文命令来显示它)
(功能区上有图表编辑功能)
*.docm
*docm
扩展名的工作簿中。 现在,赏金已经过去了(没有更好的答案),我会添加我的问题的部分答案,以便能够结束这个问题。
现在您拥有了一个“原生”Word或PowerPoint 2010图表,您可以直接在Word或PowerPoint中进行编辑。 如果您单击图表并选择图表工具 - >设计 - >编辑数据,则打开的Excel工作表中包含您在步骤4中创建的宏。成功!
我仍然希望能够更直接地做到这一点......
问题在于如何在应用程序中保存图表数据。 转换和发起是两个不同的过程。 你的数据系列基本上是一个数组而不是Excel表格。 它只是使用Excel来显示数据给你编辑。 如果您不想嵌入Excel工作表,您需要将代码保存在模块中,以获得powerpoint / word并通过shapes对象访问图表。
Sub GetChartName()
Dim sSlide As Slide
Dim cChart As Chart
Dim sShape As Shape
Set sSlide = PowerPoint.ActivePresentation.Slides(1)
For Each sShape In sSlide.Shapes
If sShape.HasChart Then
Set cChart = sShape.Chart
MsgBox cChart.Name
Set cChart = Nothing
End If
Next
Set sSlide = Nothing
End Sub
链接地址: http://www.djcxy.com/p/45677.html
上一篇: How can I add a macro to a Word 2010 or PowerPoint 2010 chart?
下一篇: Close Powerpoint Object with Excel VBA (NOT using Powerpoint.Application)