是否有 sub 调用内置 'insert rectangle' 功能?

Have sub call the built-in 'insert rectangle' functionality?

我正在探索与我的原创相关的新想法 post

在 PowerPoint 编辑模式下,insert/shape/rectangle 是一项简单的任务。插入时,矩形是活动选择。

我知道我可以用 VBA:

添加一个矩形

myDocument.Shapes.AddShape Type:=msoShapeRectangle, Left:=50, Top:=50, Width:=150, Height:=300

但是,我想使用(或复制)UI 友好代码,允许用户使用鼠标 place/size 矩形。

是否有 VBA 挂钩来执行此操作?触发 'insert rectangle' 动作,然后控制用户插入矩形;然后 return 控制到活动子?

我的想法是,如果我在 运行 宏之前已经选择了原始图像,我可以抓取图像 x,y,h,w;然后触发矩形的插入,抓取矩形x,y,h,w。然后应用数学裁剪原始图片。

只是不确定如何 use/hook 使用鼠标控制大小和位置的内置 'insert rectangle' 代码。

使用 CommandBars 命令,您可以运行 大多数控件:

Application.CommandBars.ExecuteMso ("ShapeRectangle")

要查找用于 CommandBars 的控件名称,您可以从此 GitHub 页面下载 Microsoft 的文档:Office Fluent UI Command Identifiers

一些程序员也求助于使用 SendKeys,但这是一种不太可靠的方法。