deleting certain lines in ms word 2007

筅森魡賤 提交于 2019-12-14 03:16:52

问题


I would like to delete certain lines from my word document using a VBA macro. Basically the (block of) text to be deleted (and replaced by "***") follows a certain pattern (below).
Bottom of Form
perma-link

Top of Form
save
Bottom of Form
[+] ....
[–] ....
Top of Form

"...." represents text that changes every block, but for sure the line starts with "[+]" or "[-]".

Please suggest a suitable macro

EDIT: In the screenshot, I would like to keep the text in yellow and delete the rest. (in the actual file, the text isn't in yellow)

PS-FYI, I tried using the example looping a find and delete row macro (for line by line deletion) but i get a runtime error 5941 with debugging option highlighting the line "selection.row.delete" in the macro.

What does this mean?


回答1:


Assuming that the example list is a list of paragraphs beginnings the following code should do the trick. What you have to do is to place all 'paragraphs starting' into array arrRemove as I did for the test. If any of the mark is a special marks (see this link for additional information) you need to add \ in front of it as I did for [+] and [-]. Hope this is what you are looking for.

Sub Macro2()

    Dim arrRemove As Variant
        arrRemove = Array("Bottom of Form", "perma -link", "Top of Form", _
                    "\[+\]", "\[\-\]", "Donec", "In")

    Dim i!
    For i = 0 To UBound(arrRemove)
        Activedocument.Range(0,0).select

        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = arrRemove(i) & "*^13"
            .Replacement.Text = ""  'replace with nothing

            .Forward = True
            .Wrap = wdFindContinue
            .MatchCase = False
            .MatchWildcards = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll

    Next i

End Sub

The above macro will remove all yellow paragraph in the following document.



来源:https://stackoverflow.com/questions/19165309/deleting-certain-lines-in-ms-word-2007

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!