The Gridlock Ответов: 2

[.net] excel - Как отобразить позицию формы в верхней части activecell?


about a year ago, I searched this forum and I saw a sample (.NET) showing the form in a relative position compared to the specified cell,
In VBA, I would need to use a fairly sophisticated API to do this, but now I can use .NET. No more remembering the keyword to find it. I tried searching and it looks like I will need "PointsToScreenPixelsY" and "PointsToScreenPixelsX" but I'm worried that I might miss anything..
Can you give me a solution?
Many thanks!


Что я уже пробовал:

With ActiveWindow
    UserForm1.Left = .PointsToScreenPixelsX(cell.Left)
    UserForm1.Top = .PointsToScreenPixelsY(cell.Top)
End With

2 Ответов

Рейтинг:
20

BillWoodruff

PointsToScreenPixelsX и PointsToScreenPixelsY-это методы Excel для окна или панели.

Возвращаемые значения являются значениями пикселей; чтобы задать положение формы, необходимо преобразовать значения пикселей в точки. Видеть: [^].

Вы можете найти то, что кажется полным решением для вашего вопроса здесь: [^].

Внимание: у меня нет Excel на этой машине, и я не могу проверить это с помощью автоматизации C#.


Maciej Los

5ed!