分享

VBA代码解决方案第144讲:在WORD中实现图形的精确旋转

 flyk0tcfb46p9f 2019-05-25

大家好,我们今日继续讲解VBA代码解决方案的第144讲内容:在WORD中实现图形的精确旋转。我们在写VBA代码中经常会用到图形的问题,或者说有关图形的问题在VBA代码中占据中一块内容,或许这块内容对于有的朋友用到的并不多,但如果掌握了,也不失为自己知识的一个补充。我今天讲的是在WORD中实现图形的旋转。

我们先看下面的代码:

Private Sub CommandButton1_Click()

Dim blnIsInlineShape As Boolean

If Selection.Type = wdSelectionInlineShape Then

blnIsInlineShape = True

Selection.InlineShapes(1).ConvertToShape

End If

Dim intTurn As Integer

xz = InputBox('请输入要旋转的角度值' & vbCrLf & '正数表示顺时针,负数表示逆时针。', '图形旋转', 30)

For I = 1 To Int(360 / xz) * 5

Selection.ShapeRange.IncrementRotation xz

For k = 1 To 10000000

k = k + 1

Next

Next

End Sub

代码的解析:

①If Selection.Type = wdSelectionInlineShape Then 的意思是说选中的图形是否是嵌入图形,这里的TYPE是一个枚举类型。

WdSelectionType 枚举 (Word)可以是下面的常数之一:

wdNoSelection 没有选定内容。

wdSelectionBlock 列方式选定。

wdSelectionColumn 列选择。

wdSelectionFrame 框架选择。

wdSelectionInlineShape 内嵌形状选择。

wdSelectionIP 内嵌段落选择。

wdSelectionNormal 标准的或用户定义的选择容。

wdSelectionRow 行选择。

wdSelectionShape 形状选择。

② Selection.InlineShapes(1).ConvertToShape 表示的是将嵌入式的图形转换为可以自由浮动的图形。

Expression.ConvertToShape表示的是将嵌入式图形转换为可自由浮动的图形。 Expression 参数是是必需的。 表示一个代表 'InlineShape' 对象的变量。

③ Selection.ShapeRange.IncrementRotation xz 表示图形的旋转

IncrementRotation 方法 (Word):使指定的形状绕 Z 轴旋转指定的角度。 .

语法:expression.IncrementRotation( _Increment_ )

其中:

参数expression 是必需的。 是一个代表 ShapeRange 对象的变量。

参数Increment是必需的,以度为单位。 为正值时顺时针旋转形状,为负值时逆时针旋转形状。

④ For k = 1 To 10000000

k = k + 1

Next

是一段最蠢但最好理解的延时。

下面看界面截图:

点击图形旋转:看下面的录屏:

截图:

先会提示是输入旋转的角度;

今日内容回向:

1 在WORD中如何实现图形的旋转?

2 在实现旋转的过程中,都用到了哪几个控制过程?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多