切换纵横比
Toggle Aspect Ratio
我写这个子来切换形状的锁定纵横比。它会锁定它但不会解锁它
Sub ToggleAspectRatio()
With ActiveWindow.Selection.ShapeRange
MsgBox .LockAspectRatio
'On Error GoTo err_handler:
'Unlock
If .LockAspectRatio = msoCTrue Then .LockAspectRatio = msoFalse
'Lock
If .LockAspectRatio = msoFalse Then .LockAspectRatio = msoCTrue
End With
On Error GoTo 0
Exit Sub
'Error Handler - No Object is Currently Selected
err_handler:
MsgBox "No object is selected"
Exit Sub
End Sub
请帮助我。提前致谢。
您的第一个 If 语句将 LockAspectRatio 设置为 false,您的第二个语句检测到 false 并将其设置回 true。相反,使用 Else 语句:
If .LockAspectRatio = msoTrue Then
.LockAspectRatio = msoFalse
Else
.LockAspectRatio = msoTrue
End If
我找到了解决方案。代表我的错误太多了。
这是工作代码:
Sub ToggleAspectRatio()
'PURPOSE: Toggle Lock Aspect Ratio Property on/off
Dim ShapeName As String
On Error GoTo err_handler
With ActiveWindow.Selection.ShapeRange
If .LockAspectRatio = True Then
.LockAspectRatio = False
Else
.LockAspectRatio = True
End If
End With
Exit Sub
err_handler:
MsgBox "No object is selected"
Exit Sub
End Sub
感谢@johnk
我写这个子来切换形状的锁定纵横比。它会锁定它但不会解锁它
Sub ToggleAspectRatio()
With ActiveWindow.Selection.ShapeRange
MsgBox .LockAspectRatio
'On Error GoTo err_handler:
'Unlock
If .LockAspectRatio = msoCTrue Then .LockAspectRatio = msoFalse
'Lock
If .LockAspectRatio = msoFalse Then .LockAspectRatio = msoCTrue
End With
On Error GoTo 0
Exit Sub
'Error Handler - No Object is Currently Selected
err_handler:
MsgBox "No object is selected"
Exit Sub
End Sub
请帮助我。提前致谢。
您的第一个 If 语句将 LockAspectRatio 设置为 false,您的第二个语句检测到 false 并将其设置回 true。相反,使用 Else 语句:
If .LockAspectRatio = msoTrue Then
.LockAspectRatio = msoFalse
Else
.LockAspectRatio = msoTrue
End If
我找到了解决方案。代表我的错误太多了。
这是工作代码:
Sub ToggleAspectRatio()
'PURPOSE: Toggle Lock Aspect Ratio Property on/off
Dim ShapeName As String
On Error GoTo err_handler
With ActiveWindow.Selection.ShapeRange
If .LockAspectRatio = True Then
.LockAspectRatio = False
Else
.LockAspectRatio = True
End If
End With
Exit Sub
err_handler:
MsgBox "No object is selected"
Exit Sub
End Sub
感谢@johnk