如何获取Excel工作表的第一个像素的位置?

时间:2019-05-15 15:54:56

标签: c# c++ vba

我为Excel创建了一个叠加层。该叠加层需要知道excel工作表从哪个像素位置开始(相对于我的屏幕)。 到目前为止,我将其硬编码为1920 * 1080的全屏。但是由于您可以自定义Excel布局,因此它仍然不适用于所有人(由于高度)。 因此,我想知道如何找到excelsheet的第一个像素的位置,以便在其上设置覆盖。 Screenshot也许很清楚? Another Screenshot to make it even more clear

编辑:我找到了一个使用GetWindowRect,GetClassName,EnumWindows,EnumChildWindows,FindWindow和一些计算的解决方案,但是由于没有人理解我的问题,所以我想没人在乎我的解决方案。

1 个答案:

答案 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的像素。