我有 2 个标题或标记,它们是我的 RTF 文档的一部分。在我的示例中,我展示了一个句子,而实际上它将是多个句子或段落。我使用括号而不是小于和大于符号,因为它们在我的问题中消失了。我要做的就是用下面的句子“文本到这里”替换两个标记之间的文本,不带引号。
[EmbeddedReport]大量文字,数千个字符,多段[/EmbeddedReport]
我想替换 2 个标记之间的所有文本,替换为“文本在此处”。
它最终会看起来像这样......
"[EmbeddedReport]text goes here[/EmbeddedReport]"
我确实花了 2 天时间试图解决这个问题。任何帮助,将不胜感激。
这是我尝试的最后一件事......
Sub RemoveReport()
Dim c As Range
Dim StartWord As String, EndWord As String
Selection.HomeKey Unit:=wdStory
StartWord = "<ImageTable>"
EndWord = "</ImageTable>"
Set c = ActiveDocument.Content
c.Find.ClearFormatting
c.Find.Replacement.ClearFormatting
With c.Find
.Text = StartWord & "*" & EndWord
' MsgBox (.Text)
.Replacement.Text = "<ImageTable>text goes here</ImageTable>"
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
c.Find.Execute
While c.Find.Found
Debug.Print c.Text
'~~> I am assuming that the start word and the end word will only
'~~> be in the start and end respectively and not in the middle
Debug.Print Replace(Replace(c.Text, StartWord, ""), EndWord, "")
c.Find.Execute
Wend
End Sub