2013-03-16 39 views
0

我見過很多答案在這裏和那裏,建議使用Copy()Paste()方法複製幻燈片,演示和應用程序之間的形狀:理智的方式

這些方法工作沒問題,但有副作用,因爲它們在沒有用戶同意的情況下與剪貼板交互。當程序在後臺運行一系列複製粘貼操作時,用戶不可能使用剪貼板。

我一直在尋找一種可能性,備份和恢復剪貼板,但它看起來是一個錯誤的方式(seetheseanswers)。不使用剪貼板進行復制的另一個原因是,如果用戶在我們撥打Paste()之前將某些內容複製到剪貼板中,我們最終會得到錯誤的結果。

有沒有一種理智的方法?

回答

1

您可以想象使用形狀上的.Export方法將其導出爲EMF,然後將其作爲圖片插入到目標幻燈片中。但是,這不會給你與複製/粘貼形狀相同的結果。

我不會擔心用戶在您的程序複製/粘貼之間複製某些內容。即使PPT允許(我不確定它會如何),您的複製/粘貼操作幾乎是瞬間的。

這仍然留下不刪除用戶可能放在剪貼板上的任何其他內容的問題。 Office保持獨立於Windows系統剪貼板的自己的剪貼板,但除了一個評論外,我無法找到任何有關如何以編程方式控制它的內容。我相信一個來自我的信源的評論說,你不能,至少在2000年以後的Office版本中是不可以的。但是你可能需要進一步研究。

+0

形狀對象上沒有.Export方法。 – chipbk10 2014-09-25 14:23:28

+1

有。您必須進入對象瀏覽器(在IDE中按F2),然後右鍵單擊對象瀏覽器中的任意位置,然後選擇「顯示隱藏成員」。然後intellisense會顯示形狀的.Export方法。 – 2014-09-26 14:59:47

+0

對象瀏覽器中沒有「顯示隱藏成員」。請看看我的屏幕截圖https://www.dropbox.com/s/4x8vnpk29l6u6sv/screenshot.png?dl=0 – chipbk10 2014-09-29 08:39:49