2010-07-17 85 views
3

我目前正在考慮將Excel表格複製到PowerPoint演示文稿中的一些選項。VBA vs VSTO for excel to powerpoint

  1. 使用VBA選擇一個Excel工作表,複製範圍並將其放置到一個新創建的PPT幻燈片作爲圖像。
  2. 我創建了excel自動化的html表格,一旦html被保存(最初),我創建一個圖像的HTML。
  3. 使用VSTO,我打開Excel複製每個對象,並使用剪貼板(或其他複製方法)將其粘貼到新的幻燈片幻燈片中。

這些操作將會被許多不同的用戶頻繁地調用 - 所有的實際操作都發生在一臺服務器上。

每種方法的優缺點是什麼?有沒有更好的優化技術?

+0

** a)**我不確定我是否理解#2與VBA與VSTO的關係。 ** B)**#1和#3究竟有什麼不同? ** C)**在#1和#3中,是否將它們一起粘貼到現有甲板或新甲板上的新幻燈片中,如同幻燈片1一樣? ** D)**您能否更詳細地描述最終用戶將採取什麼行動,他們將從何處採取行動以及如何採取行動? – 2010-07-17 19:32:04

回答

4

選項1:

臨:

  • 速度

魂鬥羅:

  • 插入的數據不能被複制,修改,在Excel中觀察等等。

方案3:

幾年前,我寫過類似的VBA - 程序從一個Excel工作表中創建一個「1000幻燈片演示文稿。該方法從Excel叫去這樣的(僞代碼)AFAIR:

newSlide = PowerPoint.AddSlide 
embeddedSheet = newSlide.Add OLEObject(Excel-Sheet) 
embeddedSheet.Range(..., ...) = srcSheet.Range(..., ...) 
someFormating(embeddedSheet) 
createPieChart(embeddedSheet.Range(..,...)) 
resize(embeddedSheet) 
embeddedSheet.Save 
embeddedSheet.Close 

的Pro /孔特拉根據我上面的方法經驗。

臨:

  • 紙張嵌入在PowerPoint
    • 你可以改變的數據,並在其上運行的宏。
    • 你不需要保留原來的Excel工作表。

魂鬥羅:

  • 輸出文件是更大
  • 該過程使用大量的RAM。
  • 該過程需要相當長的時間。 AFAIR 1k幻燈片在我辦公室的電腦上花了大約10分鐘。大部分時間都在創建OleObject。