||
Sub ReplaceTextInTable() Dim tbl As Table Dim cell As Cell Dim searchStr As String Dim replaceStr As String '输入要搜索和替换的文本 searchStr = "原文本" replaceStr = "新文本" '循环遍历文档中的所有表格,并处理其中的每个单元格 For Each tbl In ActiveDocument.Tables For Each cell In tbl.Range.Cells '检查单元格中是否包含要搜索的文本 If InStr(cell.Range.Text, searchStr) > 0 Then '在单元格中查找并替换文本 With cell.Range.Find .Text = searchStr .Replacement.Text = replaceStr .Wrap = wdFindStop .MatchWholeWord = True .MatchCase = False .Execute Replace:=wdReplaceOne End With End If Next cell Next tbl End Sub
在这个版本的代码中,我们使用了Range.Find
方法来查找并替换文本。这个方法可以正确地处理包含纵向合并单元格的表格。但请注意,这种方法可能会导致在查找到的文本中出现不希望替换的内容。因此,建议在使用此方法之前进行测试并备份您的文档。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2025-1-6 01:57
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社