簡體   English   中英

VBA for Word 2010 - 將選定的形狀置於視圖中

[英]VBA for Word 2010 - Bring selected shape into view

我有以下用於 MS Word 2010 的 VBA 代碼。它應該逐步瀏覽一個文檔,找到一個形狀,然后給我刪除它的選項。 我遇到的問題是所選形狀未顯示在查看器 window 中,因此當代碼詢問我是否要刪除它找到的形狀時,我看不到該形狀。

Sub ShowShapes()
Dim myRange As Range
Dim msgTrap As VbMsgBoxResult
Dim sPrompt As String
Dim myDots As Shape
For Each myRange In ActiveDocument.StoryRanges
    Do
        For Each myDots In ActiveDocument.Shapes
                myDots.Select
                sPrompt = "Do you want to delete this?"
                msgTrap = MsgBox(sPrompt, vbYesNoCancel, "Images")
                Select Case msgTrap
                    Case vbYes
                        Selection.Delete
                    Case vbCancel
                        MsgBox "Cancel was clicked.  Exiting Routine", vbCritical, "CANCEL"
                        Exit Sub
                    'Note that Case vbNo is not listed.  That is because as the only other option
                    'the routine will proceed to End Select when vbNo is clicked.
                    End Select
        Next
        Set myRange = myRange.NextStoryRange
  Loop Until myRange Is Nothing
Next
End Sub

我試過使用 Application.ScreenUpdating = True 沒有效果。 我希望有一個我不知道的簡單命令,但我無法在這里或在線其他地方找到答案。 TIA。

試試:myDots.ScrollIntoView

順便說一句,您的代碼有邏輯問題。 嘗試循環所有StoryRanges很好。 但是在下一個級別,您將查詢ActiveDocument.Shapes,這意味着-我認為目前無法在移動計算機上進行測試-您不會在循環到的StoryRange中查詢Shapes。 嘗試使用myRange.ShapeRange

myDots.Select之后嘗試ActiveWindow.ScrollIntoView Selection.Range, True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM