我为Excel创建了一个叠加层。该叠加层需要知道excel工作表从哪个像素位置开始(相对于我的屏幕)。 到目前为止,我将其硬编码为1920 * 1080的全屏。但是由于您可以自定义Excel布局,因此它仍然不适用于所有人(由于高度)。 因此,我想知道如何找到excelsheet的第一个像素的位置,以便在其上设置覆盖。 Screenshot也许很清楚? Another Screenshot to make it even more clear。
编辑:我找到了一个使用GetWindowRect,GetClassName,EnumWindows,EnumChildWindows,FindWindow和一些计算的解决方案,但是由于没有人理解我的问题,所以我想没人在乎我的解决方案。
答案 0 :(得分:1)
您可以在VBA中尝试此操作
Dim top, left As Single
Dim rng as range
Dim ws as worksheet
Set ws = Worksheets.ActiveSheet
Set rng = ws.Range("A1")
Rng.select
With Selection
top = .Top
left = .Left
End With
Msgbox top & left
不知道这是否是您要查找的内容,但这应该返回单元格A1的像素。