RTF ドキュメントの一部である 2 つのヘッダーまたはマーカーがあります。私の例では、実際には複数の文または段落になる文を示しています。質問では小なり記号と大なり記号が消えるので、代わりに括弧を使用しました。私がやりたいのは、2 つのマーカーの間のテキストを、引用符を付けずに次の文「ここにテキストが入る」に置き換えることだけです。
[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