【发布时间】:2011-06-10 02:45:12
【问题描述】:
在编写 C# Excel 2003 插件时,如何在 Excel 2003 中找到单元格的绝对位置(例如相对于屏幕[s])。
范围(例如 ActiveCell)的 Top 和 Left 属性似乎给出了相对于左上角单元格的 X 和 Y。 Window.Left 和 Top 给出了窗口的 X 和 Y,但我找不到获取中间位大小的方法(由工具栏等组成)。
这里的目的是显示一个与所选单元格相关的 WPF 表单,并与它相邻。
我觉得我在这里缺少一些基本的东西。非常感谢任何帮助!
【问题讨论】:
-
我不确定你能做到这一点。您可以获得的最接近的是活动窗口(@987654323@ 集合)的
UsableHeight和UsableWidth,以及所述窗口的Top和Left,以及主Excel 窗口的Width和Height。这样你就可以在某种程度上获得非客户区。但是我无法知道窗口上方有多少非客户区(菜单栏、窗口标题栏等)以及下方有多少(状态栏) -
感谢您的帮助,InBetween!我没有研究过
UsableHeight和UsableWidth,但这是一个很好的建议。有可能通过检测是否显示状态栏来推断状态栏的大小(假设状态栏始终是固定高度)。有点“hacky”,但如果我能做到最好的话......
标签: c# excel excel-2003