有没有办法从Excel中的公式栏获取文本和光标位置?

时间:2011-02-26 01:41:00

标签: c++ winapi excel xll

我想从Excel中的公式栏中获取当前(可能是未提交的)文本(来自插件进程中)。所有“常用”技术都不起作用,如GetWindowText(...)等。

至于光标位置: GetCaretPos实际上可以工作(返回插入符号的x,y坐标),但是EM_CHARFROMPOS没有(总是返回0),所以这是一个死胡同。

此功能是否以任何方式通过COM或XLL API公开?

编辑:我还想指出,我认为我的大多数问题都来自于公式栏是(至少我99%肯定)不是编辑控件,可以通过看着它的窗口类。

2 个答案:

答案 0 :(得分:3)

公式栏,实际上Office中的大多数控件都是非标准的。发送标准消息不会产生成功。

我想唯一的选择就是对可执行代码进行反向工程。

答案 1 :(得分:2)

SteveN,哪个版本的Excel? 控件将是一个窗口。 Office 2010在这方面“更好”,使用更多标准控件。 您可以使用间谍来观看发送到该控件的所有消息,并尝试模仿这些消息以查看您获得的内容。漫长的道路。