2011-12-22 29 views
0

Word文書全体をループし、強調表示されたテキストを読み取ってXMLファイルの強調表示されたコンテンツを検索し、XMLファイルの対応する値で置き換える必要があります。
XMLファイルをDOMに解析し、必要な値を検索する方法を知りました。
私はVBAコードをソートして、単語文書全体をループし、ハイライトテキストの内容を読んで、私のxmlファイルと比較することができます。VBAを使用してMicrosoft Wordのハイライト単語を置き換えます。

答えて

1

これはあなたにとって最適なソリューションです。私はこのマクロコードを書いてテストしました。 http://blog.haneefputtur.com/2012/02/macro-to-extract-highlighted-words-from.html

+0

ようこそスタックオーバーフロー!将来的にサイトが古くなる可能性があるので、単に別のサイトへのリンクを回答として与えるべきではありません。代わりに、この回答の「編集」リンクをクリックし、そのページのソリューションの重要な部分をここに含めます。参照:http://meta.stackexchange.com/q/8259 –

1

単語のドキュメント内のすべての単語をループし、各単語が強調表示されているかどうかを確認します。
強調表示された単語が見つかったら、XMLの単語リストを調べて、文書内の選択した単語の置換と下位を取得するコードを使用します。

ここは簡単なサンプルです。

Sub GetHighlightedWords() 
    Dim doc As Document 
    Set doc = ActiveDocument 
    Dim SelectedWord As String 

    For i = 1 To doc.Range.Words.Count 
    If doc.Range.Words(i).HighlightColorIndex > 0 Then 
     SelectedWord = doc.Range.Words(i) 
     'This is where you would go to your XML document and pickup a replacement word and subtitude it for the selected word.' 
     Debug.Print SelectedWord 
    End If 
    Next 

End Sub 
+0

サンプルコードありがとうございました!私が気づいているのは、一度に1つの単語しか捕捉しないということです。どのように強調表示されたフェーズを1つずつ連結しますか? –

+0

これが実現できない場合は、おそらく私はハイライトを開閉式ブラケットで置き換えることができます。この場合、開いている括弧内の単語を検索して連結するにはどうすればいいですか? –

+0

連続した単語が強調表示されているかどうかを確認し、変数内でその単語を追跡する必要があります。この変数を使用して、前の単語がループで強調表示されているかどうかを調べることができます。余分なタグは必要ありません。 – Sivakanesh

関連する問題