在 PowerPoint 2010 或 Word 2010 中,当我选择“插入”->“图表”时,它会为数据创建一个带有 Excel 工作表的新图表。
如果我向 Excel 工作表添加一个宏,当我关闭工作表并重新打开它时,这似乎被丢弃了。
但是,可以有一个带有宏的图表,因为我还有一些我在 Office 2003 中创建的 Word 文档和 PowerPoint 演示文稿,其中嵌入了带有宏的 Excel 图表。当我将它们转换为 Office 2010 时,它们看起来就像“正常”的 Office 2010 图表,但保留了宏。
在我看来,当您选择“插入”->“图表”时创建的嵌入式图表是“pptx”格式而不是“pptm”格式,因此不会保存宏。
(如果我查询 ActiveWorkbook.FileFormat,我得到“51”,即“打开 Xml 电子表格”;这确实是“pptx”,而不是“使用宏打开 Xml 电子表格”,即“52”)。
如何插入具有“pptm”行为的图表?或者改变现有图表的行为?
注意:我不想插入图表“对象”,因为这意味着图表在主机应用程序中不可编辑(它只是插入一个 Excel 图表,您需要“打开”才能对其进行编辑)。
让我给你一个先机......我可以通过以下方法实现我想要的:
- 在 Word(或 PowerPoint)中创建一个新文档。
- 将文档另存为 97-2003 文档(强制它进入兼容模式)。
- 使用“插入”->“对象”->“Microsoft Excel 图表”插入图表。这嵌入了一个旧式 Excel 图表。
- 通过右键单击->打开打开嵌入图表,并添加一个宏。
- 关闭图表,然后选择 File->Info 并使用 Compatibility Mode 的“Convert”按钮将文档转换为 Office 2010 文档。
现在您有了一个“本机”Word 或 PowerPoint 2010 图表,您可以直接在 Word 或 PowerPoint 中对其进行编辑。如果单击图表并选择图表工具->设计->编辑数据,则打开的 Excel 工作表具有您在步骤 4 中创建的宏。成功!
现在,有人有更简单的方法吗?