VBA宏以增加powerpoint中选定形状/图片的旋转
基本上,我不是一个程序员,为了教育的目的,我在PowerPoint中做了很多绘图和图表。我目前使用PowerPoint 2016。为了提高我的工作流程速度,我将键盘快捷键映射到键盘上的宏键,这样我只需点击键盘上的一个键就可以获得功能 我试图找到一个宏,我可以链接到一个键盘快捷键,允许我增加当前选定形状的旋转到…比如说,每次我点击快捷键2度 我是ppt vba的新手。在做了一些研究之后,我得出了以下结论。但它似乎不起作用VBA宏以增加powerpoint中选定形状/图片的旋转,vba,powerpoint,Vba,Powerpoint,基本上,我不是一个程序员,为了教育的目的,我在PowerPoint中做了很多绘图和图表。我目前使用PowerPoint 2016。为了提高我的工作流程速度,我将键盘快捷键映射到键盘上的宏键,这样我只需点击键盘上的一个键就可以获得功能 我试图找到一个宏,我可以链接到一个键盘快捷键,允许我增加当前选定形状的旋转到…比如说,每次我点击快捷键2度 我是ppt vba的新手。在做了一些研究之后,我得出了以下结论。但它似乎不起作用 Public Sub RotateCW2() Dim shp As Sh
Public Sub RotateCW2()
Dim shp As Shape
Set shp = ActiveWindow.Selection.ShapeRange(1)
shp.Rotate = shp.Rotate + 2
End Sub
谢谢你的帮助 你就快到了。请尝试以下方法:
Public Sub RotateCW2()
Dim shp As Shape
Set shp = ActiveWindow.Selection.ShapeRange(1)
shp.Rotation = shp.Rotation + 2
End Sub
形状对象有一系列可供选择的
Increment
属性
注意:从MSDN复制的说明
递增旋转(递增)
指定形状水平旋转的角度。正值使形状顺时针旋转;负值使形状逆时针旋转
IncrementRotationX(增量)
“指定形状绕x轴旋转的角度。可以是?90到90之间的值。正值使形状向上倾斜,负值使形状向下倾斜。”
IncrementRotationY(增量)
“指定形状绕y轴旋转的程度(以度为单位)。可以是?90到90之间的值。正值使形状向左倾斜;负值使形状向右倾斜。”
根据托马斯的回答,我想我可以试试这个
Public Sub RotateCW2()
Dim shp As Shape
Set shp = ActiveWindow.Selection.ShapeRange(1)
shp.Rotate = shp.IncrementRotation(2)
End Sub
这一次我得到了错误“Compole error:Expected Function or variable”,它突出显示了(.IncrementRotation)。在混合和匹配周围的内容后,我认为这一个工作正常
Sub Rotate()
With ActiveWindow.Selection.ShapeRange
.IncrementRotation 2
End With
End Sub
它按预期工作。谢谢你们的回答。谢谢史蒂夫。但当我运行这个程序时,仍然会出现相同的错误。“编译错误:找不到方法或数据成员”,并突出显示(.Rotate)。如果突出显示.Rotate,我怀疑您没有复制我建议的代码。请注意。旋转没有出现在它的任何地方。谢谢托马斯。但当我运行这个程序时,仍然会出现相同的错误。“编译错误:参数不是可选的”,并突出显示(.IncrementRotation)。@BryanHamilton对此表示抱歉。我更新了我的答案。我不应该使用
+
,因为增量
是一个参数。
Sub Rotate()
With ActiveWindow.Selection.ShapeRange
.IncrementRotation 2
End With
End Sub