Vba Word 2016:如何仅在表格中查找和替换所有段落标记?
我有一个300多页的Word 2016文档,是从另一个有大量表格的程序导入的。每个表格单元格中至少有一个段落标记。我想找到每一个段落标记,并将其替换为空,但只在表格中(在普通文本中有大量其他段落标记,我想不去管它们) 我可以使用“查找/替换”对话框手动执行,但这需要大量的单击和时间。对话框中没有“仅在表中”选项,因此我似乎需要创建一个VBA宏,但我以前从未这样做过。下面是通过记录“在一个表中查找/替换段落标记”操作生成的宏。为了使它能够同时处理所有表,需要做哪些更改Vba Word 2016:如何仅在表格中查找和替换所有段落标记?,vba,ms-word,Vba,Ms Word,我有一个300多页的Word 2016文档,是从另一个有大量表格的程序导入的。每个表格单元格中至少有一个段落标记。我想找到每一个段落标记,并将其替换为空,但只在表格中(在普通文本中有大量其他段落标记,我想不去管它们) 我可以使用“查找/替换”对话框手动执行,但这需要大量的单击和时间。对话框中没有“仅在表中”选项,因此我似乎需要创建一个VBA宏,但我以前从未这样做过。下面是通过记录“在一个表中查找/替换段落标记”操作生成的宏。为了使它能够同时处理所有表,需要做哪些更改 Dim mytable As
Dim mytable As Table
Application.ScreenUpdating = False
For Each mytable In ActiveDocument.Tables
mytable.Range.Editors.Add wdEditorEveryone
Next
ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
Application.ScreenUpdating = True
End Sub
Sub FindReplaceInTable()
'
' FindReplaceInTable Macro
'
'
Selection.Tables(1).Select
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
提前感谢。试试:
Sub ClearTblParaBreaks()
Application.ScreenUpdating = False
Dim Tbl As Table
For Each Tbl In ActiveDocument.Tables
With Tbl.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = False
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
.Text = "[^13]{1,}"
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
End With
Next
Application.ScreenUpdating = True
End Sub