我正在尝试创建一个Word插件。如何以编程方式替换段落中的文本?我需要将\r
替换为\t\r
行。
首次尝试:
Globals.ThisAddIn.Application.ActiveDocument.Paragraphs[nr].Range.Text =
Globals.ThisAddIn.Application.ActiveDocument
.Paragraphs[nr].Range.Text.Replace("\r", "\t\r");
它仅适用于文本,但如果我在段落中有链接或内容,则它不起作用。
第二次尝试:
Globals.ThisAddIn.Application.ActiveDocument.Paragraphs[nr].Range.Find.Execute("\r");
Globals.ThisAddIn.Application.Selection.Text = "\t"
这就像1
一样失败第三次尝试:
Globals.ThisAddIn.Application.Selection.Find
.Execute("\r", Wrap: Microsoft.Office.Interop.Word.WdFindWrap.wdFindContinue);
Word.Find findObject = Application.Selection.Find;
// findObject.ClearFormatting();
findObject.Text = "\r";
// findObject.Replacement.ClearFormatting();
findObject.Replacement.Text = "\t\r"
object replaceAll = Word.WdReplace.wdReplaceAll;
findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
这再次失败,因为删除1段(将段落[1]和段落[2]中的文字放入一段)
答案 0 :(得分:0)
对于未来的读者:
可以使用OpenXml。 OpenXml can be extracted直接来自addin的代码。这种方法是通用的,它允许更快,更精确地操作文档。