一些背景:
快速背景是我正处于为 PowerPoint 构建插件的研究阶段。我的最终目标是开发 CAD 尺寸标注插件,以帮助加快工程演示的创建。我们必须做很多“PowerPoint 工程”,其中组件的一般尺寸显示在使用 PPT 形状或 CAD 几何本身的屏幕截图创建的所述组件的简化版本上。但是一遍又一遍地创建维度是乏味的。每个通常由一个箭头、2 行和一个带有尺寸值的文本框组成。
这是我需要帮助的地方。
(如果您知道如何在 Excel 中执行以下操作,那也可以,稍后我将努力计算 PPT 等价物。)
在 PowerPoint 幻灯片中,在设计模式下(即不是幻灯片放映模式),我想做以下工作流程:
- 在打开的用户窗体中,用户单击一个名为“开始”的按钮
- 代码开始在幻灯片本身的字段中侦听鼠标左键(LMC)(它不应该响应实际用户窗体上的 LMC,例如,如果用户需要将用户窗体拖到一边)
- 在 LMC 上,光标的坐标记录为 (x1,y1)
- 重复步骤 2 和 3 以记录 (x2, y2)
- 用这些坐标做一些事情(例如在两个坐标之间画一个尺寸
我相信我可以处理除第 2 步之外的所有编码,这就是我在这里的原因。我很难找到一个起点。具体来说,我需要有关如何收听 LMC 的帮助。简而言之,设想如下:
While Listening:
If LMC = TRUE
Do Stuff
End If
End While
但我没有编码这While Listening
部分的知识。我需要朝着正确的方向轻推。
我的搜索使我进入了MouseDown
MSDN 的事件处理程序页面,但在我的测试中,我认为这不是我需要的。当鼠标在其自身的用户窗体中的命令按钮上按下时,它似乎MouseDown
打算启动一个例程。
我还发现了这篇 SO 帖子,其中唯一的答案似乎暗示如果不花大力气这是不可能的,并且代码可能对文件本身有害:如何在 Excel VBA 中记录鼠标点击?. (我不遗余力地投入工作,但如果生成的代码很有可能造成损害,正如帖子似乎暗示的那样。)(此外,OP 在没有任何解释的情况下被否决,也许有人可以告诉我为什么,这样我就不会犯同样的错误。)