gpt4 book ai didi

c# - 以编程方式替换段落中的格式化文本(链接、内容)

转载 作者:行者123 更新时间:2023-11-30 18:27:23 34 4
gpt4 key购买 nike

我正在尝试创建一个 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] 中的文本放到一个段落中)

最佳答案

对于 future 的读者:

可以使用 OpenXml。 OpenXml can be extracted直接来自插件的代码。这种方法是通用的,它允许更快、更准确地处理文档。

关于c# - 以编程方式替换段落中的格式化文本(链接、内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761550/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com