【问题标题】:Adding text after a particular text in word在 word 中的特定文本之后添加文本
【发布时间】:2015-08-15 00:27:13
【问题描述】:

我正在尝试从 C# 访问 word 应用程序。

我想在 word 文件中找到特定文本后立即写一个段落。

例如,如果我在 word doc 中找到一个文本/标题“地址”,我会在下面写完整的地址作为内容。

我试图通过控制光标并在找到地址后将其放置来解决此问题,但我无法做到。任何人都可以提出相同的方法。

【问题讨论】:

  • 到目前为止你有什么代码?您在哪里卡住或遇到问题?

标签: c# .net com ms-word activex


【解决方案1】:

听起来您想在文档中的预定位置插入文本。如果这是真的,那么您应该考虑使用 Word 的书签功能,而不是搜索诸如“地址”之类的任意文本。您可以在 Word 文档中定义书签名称(使用插入 > 书签命令)。书签很容易从 C# 访问,允许您在该位置插入或替换文本。

例如,创建一个新的 Word 文档并输入一些任意文本。选择要替换的文本,然后单击插入 > 书签并将书签命名为“BOOKMARK1”。保存并关闭文档。您现在可以使用如下代码来替换文本:

var app = new Microsoft.Office.Interop.Word.Application();
var document = app.Documents.Open("c:\\temp\\interoptest.docx");
document.Bookmarks["BOOKMARK1"].Range.Text = "This text has been replaced.";
document.Save();
app.Quit(SaveChanges: false);

请注意,您需要添加对 Microsoft Word 对象库的引用才能编译上述代码。在最新版本的 Visual Studio 中添加引用时,可以在 COM 部分下找到此库。

【讨论】:

  • 您好,非常感谢您的帮助。实际上,我不想替换书签文本,我试图在特定文本之后插入一个段落,该段落可以出现在整个 word doc 中的任何位置。因此,如果我可以在所需单词之后获得下一行的范围,我可以将我的内容放在该单词之后。你能帮我做同样的事情吗?
  • 书签的 Range 属性有一个叫做 InsertAfter 的方法,可以让你插入文本。
猜你喜欢
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 2020-01-27
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多