大家好,我們今日繼續講解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
代碼的解析:
①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 在實現旋轉的過程中,都用到了哪幾個控制過程?
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!