我正在使用 PowerPoint 创建用户界面的模型。
如果使用具有尖角的规则矩形,则很容易。
当使用圆角矩形时,情况会很困难。
有没有办法在调整圆角矩形大小的同时保留其角的圆角?
目前,如果您调整圆角矩形的大小,圆角会相应变大/变小。这不是我想要的...我想只调整矩形的宽度和高度,而不改变圆角边框半径。就像在 CSS 中一样。或者就像在 Illustrator 中一样。但在 PowerPoint 中。
答案1
解决该问题需要 VBA 宏。
如果你以前从未使用过 VBA(你很幸运),你可以在以下 Microsoft 文章中了解该主题: PowerPoint 2010 中的 VBA 入门。
您将需要以下两个宏:GetShapeRounding 和 SetShapeRounding。这两个宏都假设圆角矩形是当前选定的形状。第一个宏计算形状的半径大小(以点为单位),第二个宏将选定的形状设置为此半径。
使用宏的方法如下:
- 创建圆角矩形并选择它(或保持选中状态)
- 运行第一个宏来计算半径
- 调整圆角矩形的大小并保持选中状态
- 运行第二个宏,将其角设置为计算出的半径
以下是宏:
Dim sngRadius As Single ' Radius size in points
Sub GetShapeRounding()
Dim oSh As Shape
Set oSh = ActiveWindow.Selection.ShapeRange(1)
With oSh
If .Width < .Height Then
sngRadius = .Width * .Adjustments(1)
Else ' .Width >= .Height
sngRadius = .Height * .Adjustments(1)
End If
End With
MsgBox sngRadius
Set oSh = Nothing
End Sub
Sub SetShapeRounding()
Dim oSh As Shape
Set oSh = ActiveWindow.Selection.ShapeRange(1)
With oSh
If .Width < .Height Then
.Adjustments(1) = sngRadius / .Width
Else ' .Width >= .Height
.Adjustments(1) = sngRadius / .Height
End If
End With
Set oSh = Nothing
End Sub
在 PowerPoint 2010 上测试。
答案2
我认为使用现成的 PowerPoint 无法实现这一点。
您必须为其编写一个小的 VBA 宏。
有一些 PowerPoint 插件可让您统一角半径(为每个框指定相同的半径)。我们的插件就是其中之一:www.veodin.com/slideproof