【问题标题】:Word automation adding/deleting textWord 自动添加/删除文本
【发布时间】:2012-03-10 01:43:06
【问题描述】:

我正在使用 c# 编写一个单词自动化项目,并且正在使用互操作单词库来读/写单词。我目前在 word 模板文档中使用书签来查找在 c# 中的 word doc 中写入信息的位置。我的书签之一由文档中突出显示的两行组成。基于一个布尔值,我必须决定是将该文本保留在那里并在其后添加新的文本行,还是从文档中删除现有的两行。

所以这是我的伪代码:

if (writeToDoc)
{
// leave selected bookmark text intact and press enter to write another line right after
}
else
{
//delete the selected bookmark text
}

谁能告诉我如何删除现有的文本,以及如何按回车键并从 c# 中写另一行?

谢谢

编辑:这是我拥有的代码(大致)

    foreach (var bookmark in wordDoc.Bookmarks)
    {
        var bookMarkNameExistsInCode = listOfBookmarks.Contains(wordDoc.Bookmarks[bookmark].Name);
        if (bookMarkNameExistsInCode )
        {
            object oBookMarkName = wordDoc.Bookmarks[bookmark].Name;
            rng = wordDoc.Bookmarks.get_Item(ref oBookMarkName).Range;
            // at this point i am pointing to the two selected lines labelled as a bookmark in word. How can i deselect and add a new line?
        }
        }

【问题讨论】:

  • 它可能有助于发布您目前拥有的一些代码:例如加载定位您要使用的文本块的部分。这样人们可以扩展您的想法从零开始
  • 我在上面添加了一个编辑。希望有帮助!

标签: c# ms-word


【解决方案1】:

如果在DocX 文件上完成单词操作,您可以使用DocX 库并使用一些非常简单的命令,例如text.ReplaceText(); 和其他非常简单/直观的命令。如果可能的话,用DocX 替换Interop 应该可以让您立即启动并运行:)

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多