首页 文章

CAD尺寸标注添加:将屏幕位置关联到工作表位置Excel / PowerPoint VBA

提问于
浏览
0

我一直在搜索这个,我仍然有一些问题 . 我的最终目标是为PowerPoint创建一个加载项,允许我创建类似于CAD包的维度 . 我正在Excel中开发它,因为我可以在Excel VBA上找到更多文档 .

正如 Headers 所暗示的那样,我的主要问题是关于获取屏幕位置以绘制实际尺寸,但是对于我想要完成的其他方面的任何反馈都是受欢迎的 .

问题:
绘制直线的VBA方法是 Shapes.AddLine(beginX, beginY, endX, endY) . X-Y坐标相对于文档本身的左上角 .

我在http://www.mrexcel.com/forum/excel-questions/173120-mouse-events-visual-basic-applications.html找到了以下内容:

Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Type POINTAPI
x As Long
y As Long
End Type

Sub PositionXY()
Dim lngCurPos As POINTAPI
Do
GetCursorPos lngCurPos
Range("A1").Value = "X: " & lngCurPos.x & " Y: " & lngCurPos.y
DoEvents
Loop
End Sub

它具有以下功能:

...如果您有兴趣在单元格A1中查看单元格中的坐标,请运行名为PositionXY的宏并移动鼠标 . 要退出该过程,请双击任何单元格,然后按Esc,Enter或选择任何单元格 .

问题是POINTAPI方法获得绝对屏幕位置 .

有没有更好的方法呢?我使用双显示器,POINTAPI似乎返回相对于主显示器左上角的位置......我想找到一种方法,如果可能的话我不必担心这个问题 .

谢谢 .

1 回答

  • 0

    方法 ActiveWindow.PointsToScreenPixelsX(0)ActiveWindow.PointsToScreenPixelsY(0) 解决了问题 .

    我需要帮助的项目更多,但他们需要更多的研究和他们自己的问题 . 谢谢 .

相关问题