OpenXMLとEric WhiteのOpenXmlPowerTools(NuGetからインストール)を使用して、.docx単語文書の基本検索と置換を試みています。私はこのサイトと彼のブログの例を辿ってきましたが、何らかの理由でコードを実行した後にドキュメントを開いたときに変更がドキュメントに表示されることはありません。ここで私が実行している簡単な関数である:c#OpenXMLで保存できないテキストの検索と置換
void ReadDocument(string path)
{
using (WordprocessingDocument doc = WordprocessingDocument.Open(path, true))
{
var content = doc.MainDocumentPart.GetXDocument().Descendants(W.p);
var regex = new Regex(@"the", RegexOptions.IgnoreCase);
int count = OpenXmlRegex.Replace(content, regex, "NewText", null);
doc.MainDocumentPart.Document.Save();
doc.Save();
MessageBox.Show(count.ToString());
}
}
は、メッセージボックスには、私は何の代替品を見ていない文書を開くと、それはまだ、作っているはず置換の大きな数を示しています。また、私はそれらのdocument.Save()呼び出しが必要ではないと思うが、私はこのことを動作させるために何かを試みてきた。助言がありますか?おかげ
ありがとうございます。これでいくつかの編集が正常に行われ、ファイルが保存され、Wordを開くと変更が表示されますが、xmlの複数の実行にまたがるテキストでは機能しません。これがOpenXmlPowerToolsを使用しようとしている最初の問題です。OpenXmlPowerToolsは、複数の実行にまたがるテキストのテキスト検索を行うことができます。あなたのアプローチは、私はこの質問の受け入れられた答えに基づいて試した他のものと違っていません:http://stackoverflow.com/questions/28697701/openxml-tag-search –