Word文書内のテキストプレースホルダーを見つけて置き換える機能があります。これは、短いテキスト文字列でうまく機能します。ただし、より大きなテキスト文字列、つまりテキストの段落に置き換えようとすると、何もしません。
DocReplaceField(ref Word.Document objDoc, string Field, string Value)
{
object missing = System.Reflection.Missing.Value;
Word.Range range = objDoc.Content;
object findtext = Field;
object f = false;
object findreplacement = Value;
object findforward = false;
object findformat = true;
object findwrap = WdFindWrap.wdFindContinue;
object findmatchcase = false;
object findmatchwholeword = false;
object findmatchwildcards = false;
object findmatchsoundslike = false;
object findmatchallwordforms = false;
object findreplace = WdReplace.wdReplaceAll;
range.Find.Execute(
findtext,
findmatchcase,
findmatchwholeword,
findmatchwildcards,
findmatchsoundslike,
findmatchallwordforms,
findforward,
findwrap,
findformat,
findreplacement,
findreplace,
missing,
missing,
missing,
missing);
}
これは、「[プレースホルダー]」を「何か」に置き換えようとすると機能しますが、「[プレースホルダー]」を「何か」に置き換えるにはどうすればよいですか
"Nullam non lorem sapien, et imperdiet sapien. Curabitur vestibulum justo eu enim bibendum vulputate. Integer vel velit non elit molestie auctor non ut nisi. Suspendisse potential. Donec augue nulla, beforetibulum a pulvinar id, scelerisque quis mauris. Integer eget ullamcorper velit. Sed at purus sit amet felis pulvinar dictum at non neque. Praesent laoreet mauris id sem venenatis pellentesque."
例えば
アップデート:
問題は、単語の検索と置換で 255 文字を超える文字を置換できないことです。検索はプレースホルダーと一致していますが、実際にテキストを置き換えることはできません。find を呼び出してプレースホルダーを見つけた後、手動でテキストを選択して新しいテキストを挿入する例はありますか? 検索と置換という言葉を使用する代わりに。