在PowerPoint 2010或Word 2010中,當我選擇「插入」 - >「圖表」時,它會爲數據創建一個包含Excel工作表的新圖表。如何將宏添加到Word 2010或PowerPoint 2010圖表中?
如果我在Excel工作表中添加一個宏,當我關閉工作表並重新打開它時,這似乎被丟棄。
然而,是可能有宏的圖表,因爲我也有,我在Office 2003中,它已經嵌入Excel圖表與宏創建一些Word文檔& PowerPoint演示文稿。當我將它們轉換爲Office 2010時,它們看起來就像「正常」的Office 2010圖表,但宏被保留。
當我選擇插入 - >圖表爲「pptx」格式而不是「pptm」格式時,它看起來就像我創建的嵌入圖表一樣,因此宏不會被保存。 (如果查詢ActiveWorkbook.FileFormat,我會得到「51」,即「Open Xml Spreadsheet」;這確實是「pptx」,與「Open Xml Spreadsheet with Macros」相反,即「52」)。 。
如何插入帶有「pptm」行爲的圖表?或者改變現有圖表的行爲?
注:我不想插入圖表「對象」,因爲這意味着該表不是宿主應用程序中編輯(它只是插入,你需要以「打開」 Excel圖表編輯它)。
讓我給你一個良好的開端......我可以實現我想通過下面的方法:
- 在Word中創建(或PowerPoint)一個新的文檔。
- 將文檔另存爲97-2003文檔(強制它進入兼容模式)。
- 使用Insert-> Object-> Microsoft Excel Chart插入圖表。這嵌入了一箇舊式的Excel圖表。
- 右鍵單擊打開嵌入的圖表,然後添加一個宏。
- 關閉圖表,然後選擇「文件」 - >「信息」,然後使用兼容模式「轉換」按鈕將文檔轉換爲Office 2010文檔。
現在您有一個「原生」Word或PowerPoint 2010圖表,您可以直接在Word或PowerPoint中編輯該圖表。如果您單擊圖表並選擇圖表工具 - >設計 - >編輯數據,則打開的Excel工作表中包含您在步驟4中創建的宏。成功!
現在,有沒有人有一個更簡單的方法?
你可能只是能夠宏遷移到Word/PPT代碼模塊,正是如此操作ChartObject:HTTP:// stackoverflow.com/a/16263736/1467082。我通常不會寫入圖表的「ChartData」工作表,但如果需要的話可以這樣做。在PPT/DOC中有一些與ChartObjects一起工作的怪癖,但如果你熟悉Excel VBA,大多數人會熟悉它。 –
@DavidZemens:是的,我*可以做到這一點,但在文檔中有幾十個圖表會變得非常混亂。對於我的目的來說,保持代碼與其操縱的圖表(數據)相關聯更實用。 –
這有點難看,但你可以改爲嵌入Excel電子表格(插入 - >對象 - >從文件),因爲這將保留宏。我想這取決於宏是在做什麼以及如何觸發它們。 – CuberChase