大家好,我们今日继续讲解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 在实现旋转的过程中,都用到了哪几个控制过程? |
|
来自: flyk0tcfb46p9f > 《办公》