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

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

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

这个function是通过COM还是以任何方式暴露给XLL API?

编辑:我也想指出,我认为我的问题的大部分来自事实,公式栏是(至less我99%肯定)不是一个编辑控制,可以看到它的窗口类。

配方栏,实际上Office中的大部分控件都是非标准的。 发送标准消息将不会成功。

我想唯一的select将是反向工程的可执行代码。

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