2

对于这个特定的问题,我可能会咬得比我能咀嚼的更多,但我会尽量做到具体,以防它在我的范围内。免责声明:除了简单的数据输入/某些格式之外,我对 MS Word 的经验并不丰富,而且我使用宏或 VBasic 的经验绝对为零。不幸的是,我担心我的问题的解决方案将以最后两个之一的形式出现。

目标:

我想要做的是在我的模板文档中使用占位符文本,当它的第一个实例被更改时,它会更改内容但不会格式化。基本上,我正在为软件套件的支持手册编写模板。每个应用程序都有某些相似的功能,例如菜单栏、数据输入屏幕、诊断日志屏幕、交易历史记录等,因此我会预先编写这些部分并在需要插入某些应用程序特定属性时使用占位符。

我开始使用 Insert->Quick Parts->Document Property->Subject 工具,我用它作为应用程序名称的占位符。我将属性设置为 [Subject],然后在整个文档中使用 Insert->Quick Parts->Field->Subject,只要我需要包含应用程序名称。在这种情况下这很好用,因为应用程序名称将始终大写。我只需更改第一个 [Subject] 中的文本(内容受控)并更新整个文档中的字段,它们都很好地匹配,简单易行,工作完成,回家喝啤酒,对吗?

不完全的。

我们的软件通过扫描仪和 SQL Server 处理零件跟踪,因此虽然应用程序中的界面和菜单基本保持不变,但它们跟踪的零件因应用程序而异。因此,当我在手册文本中引用它时,我需要更改部件名称;例如,如果我在 ToiletPap.app 中工作并且我们的 TP 被滚动跟踪,我需要将 [Component] 的每一次提及都更改为滚动。如果我在 LightBulbs.app 中工作,我需要 [Component] 来表示灯泡。

我首先尝试使用 Document Properties 下拉菜单下的 Advanced 选项卡创建一个名为 Component 的自定义文档属性。然后,我围绕我的第一个 [Component] 标题为 Component 创建了一个纯文本内容控件,并使我的下一个 [Component] 成为一个带有修改代码的字段:{COMPONENT * MERGEFORMAT}。这来自复制我在 [主题] 工作时可以找到的内容。这根本不起作用。更新第一个 CC 中的文本不会更改 Content doc 属性,并且我的字段返回“!未定义的书签,组件”。

通过使用最初设置为 [Component] 的 [Comments] 文档属性,我接近了我需要的内容。我就像 [Subject] 一样使用它,但是(这是当我意识到大写将成为一个问题时)当我在文本中提到我的 [component] 时,我经常需要小写而不是大写.

我已经查看了 MS 的论坛和其他一些论坛以及 SO,我找不到任何试图做同样事情的人,更不用说如何回答了。回答时请记住,如果您包含有关如何输入/实施您提供的代码的分步说明,这将对我有很大帮助,因为正如我所提到的,我不知道如何进行编辑MS Word 的宏/VBasic。

重申和总结我的整体问题:如何使用显示文本“[Component]”的占位符,以便当我将 [Component] 的第一个实例更改为其他内容时,说“hopper”,每个后续实例 [ Component] 已更新为 hopper 但仍保持其当前的大小写和格式方案?

对请求的长度表示歉意,但我想确保我尽可能准确地解释了情况。提前感谢您的考虑和回复。

4

1 回答 1

1

经过几个小时的修修补补,我设法解决了这个问题。我也不需要宏或 VBasic。

在 [component] 的第一个实例上,我创建了一个纯文本内容控件作为容器(不是必需的,但它使它看起来更好。最终可能会导致问题,但现在,它按预期工作)和给它加了书签。然后,对于 [container] 的所有其他实例,我选择了每个实例并使用 Insert->Quick Parts->Field->Ref 和以下字段代码:

REF Text1 \*Lower

其中“Text1”是我的书签,“*Lower”表示全部小写。*Lower 可以替换为 *Upper 或 *FirstCap,分别表示全部大写或首字母大写。现在,每个字段都反映了第一个字段的文本,大小写适合每个字段在文档中的位置。就像使用带有 [Subject] 的 doc 属性一样,需要 ^a -> f9 来更新文档中的所有字段。

于 2013-03-15T17:57:06.240 回答