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 回答