[英]VBA Macro for MS Word to Ignore Spelling Errors in Selected Block of Text
[英]MS Word Macro VBA Help, Selected image
我具有基本的Macro和VBA知識,但是無法弄清楚我在哪里出錯了。 (代碼插入底部)我希望宏將選定的圖像移到頁面的頂部中心。 我面臨的問題是,它不適用於文檔中的每個圖像,它適用於第一個圖像,然后不再執行任務。 我正在使用Microsoft Word 2016。
main命令執行了我想要的操作,我覺得我的錯誤在這兩行之內
Set myDocument = ActiveDocument
With myDocument.Shapes(1)
整個代碼;
Sub AlignToCentre()
'
' AlignToCentre
Dim shp As Shape
Set myDocument = ActiveDocument
With myDocument.Shapes(1)
.WrapFormat.Type = wdWrapSquare
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = InchesToPoints(1)
End With
End Sub
如果您希望它與選定的圖像一起使用,並且僅與選定的圖像一起使用,則更像這樣,您可以從當前選擇中獲得形狀。
請注意如何首先檢查以確保選擇了“形狀” ...
Sub PositionSelectedShape()
Dim sel As word.Selection
Dim shp As word.Shape
Set sel = Selection
If sel.Type = wdSelectionShape Then
Set shp = sel.ShapeRange(1)
With shp
.WrapFormat.Type = wdWrapSquare
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = InchesToPoints(1)
End With
End If
End Sub
就像Kim Raaness所建議的那樣,您需要遍歷想要將所有形狀居中的所有形狀。
嘗試這樣的事情:
Sub AlignToCentre()
'
' AlignToCentre
Dim shp As Shape
Set myDocument = ActiveDocument
For Each shp in myDocument.Shapes
With shp
.WrapFormat.Type = wdWrapSquare
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = InchesToPoints(1)
End With
Next shp
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.