0

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
4

1 に答える 1