【问题标题】:Invisibly marking up text in a word document在 Word 文档中不可见地标记文本
【发布时间】:2009-11-16 20:45:05
【问题描述】:

我不想构建一个允许用户执行的 word 2007 插件:

  • 在 Word 文档中突出显示文本的段落等。
  • 单击工具栏按钮或从右键单击菜单中选择一个选项以将文本“标记”为某种类型的数据(将有 4 种不同类型的数据中的 3 种)
  • 此外,还可以选择一些文本并取消标记(这会自动扩大选择范围以覆盖整段标记的文本)。

标记文档的人是非技术人员,因此我们希望保持简单。

我一直在研究一些可以实现此功能的不同方法,包括:

  1. 书签 - 命名书签,即每次突出显示和“标记”一个类型时,应用程序会添加一个书签,其类型名称后跟一个数字,即 my_custom_type-1、my_custom_type-2 等。
  2. 隐藏文本 - 将隐藏文本粘贴到文档中(字体设置为隐藏) - 所以我们基本上可以用一些隐藏文本包围选定的段落,即 {my_custom_type} ... {/my_custom_type},一些其他类型的文本与 {another_custom_type} ... {/another_custom_type} 等。
  3. 命名样式 - 具有每种数据类型的样式,并且只使用 Range.set_Style(...) 方法来设置样式。

到目前为止,我已经尝试了选项 3 - 它似乎可以很好地标记文本,但当我尝试取消标记文本时效果不佳(例如,如果我尝试将类型设置回“正常”使用 set_Style 方法)。

这些是在 Word 文档中以编程方式标记文本的唯一方法吗(无需在文档中实际显示其他内容) - 任何人都可以推荐一种方法而不是另一种方法,尤其是当我们需要解析出所有数据时标记。

【问题讨论】:

    标签: .net ms-word office-interop


    【解决方案1】:

    您可能想尝试使用突出显示(如工具栏上的黄色突出显示图标)。有几种不同的颜色可供选择——当然足以满足您的需求。由于突出显示是所有其他格式之外的,并且实际上很少是文档“真实”格式的一部分,因此它似乎是一个不错的选择。关闭它真的很容易,因为您不必担心会溅出其他格式的文本。你也有一个现成的 UI :-)

    【讨论】:

    • 是的,我可能会尝试一下...我将不得不检查文档是否尚未包含任何突出显示 - 这可能会导致问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多