2

私は、値を Excel シートにエクスポートする必要がある Delphi プロジェクトに取り組んでいます。私のプロジェクトは、これを達成するための 2 つの方法をサポートしています。

どちらの方法もうまく機能しますが、画像を Excel シートにエクスポートするためのサポートを追加したいと考えています。最初の方法を使用すると、これは簡単に実現できました。

私の質問は、DDE コマンドを使用して Excel シートに画像を追加するにはどうすればよいですか? サポートされているすべての dde ​​コマンドの完全なリストも歓迎します。私はこれに来ましが、私の問題を解決していないようです....

4

3 に答える 3

4

Excel との OLE 通信の適切な構文を理解することは、非常に困難または不可能な場合があります。Delphi からそれを行う方法に関する完全なドキュメントを見つけたことはありません。私は通常、多くの試行錯誤のテストを行ったり、括弧や角括弧を追加したり削除したりすることになります。不適切な形式の構文に対する Excel のエラー メッセージが役に立たないことは役に立ちません。

Delphi を使用して Excel でマクロを開始するハイブリッド アプローチを検討することをお勧めします。以前は、必要に応じて非表示の (xlVeryHidden) ワークシートに引数を挿入していました。その後、VBA ですべてを実行できるため、サンプル コードとサポートの世界が開かれます (たとえば、MrExcel.com フォーラムは優れたヘルプ ソースです)。

あなたは Deborah Pate のサイトを知っています。いいえ: http://www.djpate.freeserve.co.uk/AutoExcl.htm

于 2012-02-17T13:51:16.060 に答える
0

DDEだけではできません。

正しいアプローチは DDE ではなく、OLE オートメーション (COM IDispatch インターフェイス) だと思います。DDE は、3 つの主要な読み取り/書き込み/実行コマンドを介してアプリを別のアプリにリンクする場合にのみ役立ちます。したがって、機能は OLE オートメーションよりも制限されます。DDE クライアントになり、Excel に接続できます。Excel は、DDE サーバーまたは DDE クライアントにすることができます。この場合、Excel を使用し、DDE を使用して簡単にテキストを書くことができます。

ただし、ビットマップ画像情報を DDE 書き込みに入れることができるとは思いませんが、テキスト、数値、および数式を書き込むことはできます。私は DDE を Excel と Delphi で頻繁に使用してきましたが、それが可能であるという兆候は見たことがありません。DDE には 3 つの基本操作があります。

  • のぞく(読む)

  • 突く(書く)

  • 実行 (関数呼び出し)

Delphi は COM と OLE オートメーションを完全にサポートしているため、OLE オートメーションでそれを行う方法を尋ねた場合、それは別の問題であり、Delphi では比較的簡単です。

ロバート・フランクの答えも良さそうです。VBA マクロを使用して DDE Execute から呼び出すこともできますが、その方法を提案することは私の能力を超えています。

于 2012-02-18T18:42:28.740 に答える