2012-02-17 44 views
2

我正在開發一個Delphi項目,我需要將值導出到Excel表格。 我的項目支持兩種方式來完成此操作: 1)使用該方的dll管理工作表的創建 2)使用內置dde,並通過此命令執行命令。使用DDE添加圖像到excel表格

兩種方式工作很好,但現在我想增加支持導出圖像到Excel表。採用第一種方式,這很容易完成。

我的問題是如何使用DDE命令將圖像添加到Excel表格中?所有受支持的dde命令的完整列表,也將不勝感激。我來到this,但它似乎並沒有解決我的問題....

回答

4

找出與Excel的OLE通信正確的語法可能是一個真正的痛苦或不可能。我從來沒有找到關於如何從Delphi中完成的完整文檔。我通常會做大量的試驗和錯誤測試,添加和刪除括號和方括號等等。它不利於Excel對錯誤形式的語法消息毫無價值。

我建議你考慮一個混合的方法,你可以使用Delphi在Excel中啓動宏,以前必要時將參數插入隱藏的(xlVeryHidden)工作表中。然後,您可以在VBA中做所有事情,這將打開一個示例代碼和支持的世界(例如MrExcel.com論壇是一個極好的幫助來源。)

您知道Deborah Pate的網站,編號:http://www.djpate.freeserve.co.uk/AutoExcl.htm

0

你不能只用DDE。

我相信正確的做法不是DDE而是OLE自動化(COM IDispatch接口)。 DDE僅用於通過其三個主要讀/寫/執行命令將您的應用程序鏈接到另一個應用程序,因此這些功能比OLE自動化更有限。您可以成爲DDE客戶端,並且可以連接到Excel。 Excel可以是DDE服務器或DDE客戶端。在這種情況下,您可以使用Excel並使用DDE輕鬆編寫文本。

但我不相信你可以將位圖圖像信息放入DDE寫入中,但是,您可以編寫文本,數字和公式。我已經用Excel和Delphi大量使用了DDE,並且從未看到任何跡象表明這是可能的。 DDE有三個基本操作:

  • PEEK(讀)

  • 捅(寫)

  • 執行(調用函數)

如果你問怎麼辦它與OLE自動化,這將是另一回事,並且相對容易,與德爾福,因爲德爾福流利地支持COM和OLE自動化。

羅伯特弗蘭克的答案似乎也不錯。您可以使用VBA宏並從DDE Execute調用它們,但超出了我的能力來建議如何。

-1

在我的情況下,用下面的命令工作:

EXCEL -> SYSTEM -> [INSERT.PICTURE("C:\temp\picture.jpg")]

相關問題