7

現在の(コミットされていない可能性がある) テキストを Excel の数式バーから (進行中のアドインから)取得したいと考えています。GetWindowText(...) などの「通常の」手法はすべて機能しません。

カーソルの位置について: GetCaretPos は実際に機能します (キャレットの x、y 座標を返します) が、EM_CHARFROMPOS は機能しません (常に 0 を返します)。

この機能は、何らかの方法で COM または XLL API に公開されていますか?

編集:私の問題の大部分は、数式バーが(少なくとも99%確信している)編集コントロールではないという事実に起因すると思うことも指摘したいと思います。ウィンドウクラス。

4

2 に答える 2

3

数式バー、そして実際に Office のほとんどのコントロールは非標準です。標準メッセージを送信しても成功しません。

唯一の選択肢は、実行可能コードをリバース エンジニアリングすることだと思います。

于 2011-02-26T10:13:34.420 に答える
2

スティーブンさん、Excel のどのバージョンですか? コントロールはウィンドウになります。Office 2010 はこの点で「より優れた」ものであり、より標準的なコントロールを使用しています。Spy を使用して、そのコントロールに送信されるすべてのメッセージを監視し、それらを模倣して何が得られるかを確認できます。長い道のりですが。

于 2011-02-27T21:28:27.947 に答える