2017-09-27 12 views
-1

は、私が検索を行うと、ワード文書に置き換えるしようとしていたが、見つけるためのテキストが255文字を超えているので、それは以下の方法を使用してエラーに実行されますので:C#Word文書、選択した範囲のテキストを置き換えますか?

app.Selection.Find.Execute(ref findText, ref matchCase, ref matchWholeWord, 
       ref matchWildCards, ref matchSoundsLike, ref matchAllWordForms, ref forward, ref wrap, ref format, ref replaceWithText, ref replace, 
       ref matchKashida, ref matchDiacritics, ref matchAlefHamza, ref matchControl); 

は、私は誰かが持っていましたWord文書の長いテキストが含まれている範囲を返すことができるので、この範囲のテキストを置き換えて変更を保存しようとしています。しかし、私のような何かをしようとした後、交換を行う方法を見つけ出すことができませんでした: で返さselectedRangeの値を置き換えるために長いテキスト

Microsoft.Office.Interop.Word.Range selectedRange = findTextRange(app, findText); 

てみ含む選択範囲を取得:

app.Selection.Range.Text = replaceWithText; 

それを実行に問題はありませんが、保存された文書には変更がありません。だから私は何を逃したのか分からない? ありがとうございます。

答えて

0

findTextRangeはあなたの範囲を選択していませんか?

Microsoft.Office.Interop.Word.Range selectedRange = findTextRange(app, findText); 
app.Selection.Range.Text = replaceWithText; 

と2行目置き換え:あなたはこのproblem.ThisのためのAsposeファイルギAPIを使用して行うことができます

selectedRange.Text = replaceWithText; // and, you might want to rename `selectedRange` 
0

はむしろ私はこの参照をthink.Add他のソリューションより簡単にする必要がありますビジュアルスタジオのあなたのナゲットに。

string dataDir = RunExamples.GetDataDir_FindAndReplace(); 
string fileName = "TestFile.doc"; 

Document doc = new Document(dataDir + fileName); 

FindReplaceOptions options = new FindReplaceOptions(); 
options.ReplacingCallback = new ReplaceEvaluatorFindAndHighlight(); 
options.Direction = FindReplaceDirection.Backward; 

//「あなたの文書」句を強調表示します。

Regex regex = new Regex("your document", RegexOptions.IgnoreCase); 
doc.Range.Replace(regex, "", options); 

dataDir = dataDir + RunExamples.GetOutputFilePath(fileName); 

//出力ドキュメントを保存します。 https://docs.aspose.com/display/wordsnet/Find+and+Replace

doc.Save(dataDir); 

下のリンクに従ってください

関連する問題