0

我为 Microsoft Word(Windows、Office 2010)目录编写了一个嵌套字段,它允许我在不存在任何Figures条目(字符串中带有单词“Figure”的标题样式)时更改错误文本。

我不知道如何表示Field标记,所以我使用“FS”和“FE”来表示字段括号。

FS IF FS TOC \c"Figure" FE  = "<carriagereturn>No table of figures entries found." "No figures at this time" FS TOC \c"Figure" FE  FE

这可以显示我的错误消息或图表,但通常的页码超链接(Control-Click to jump)不可用。我猜它与嵌套字段有关,但不知道是否有解决方法。如果有更好的方法,使用字段来做到这一点,我很乐意改变。

编辑:我不认为可以在wordcnvr.dll文件中编辑错误字符串本身?

4

1 回答 1

0

这个怎么样:

{ IF "{ TOC \c "Figure" }" = "
No table*" "{ SET ToCFormat Charformat }Then the error message you want to display." "{ SET TocFormat Mergeformat }" }
{ TOC \c "Figure" \*{ ToCFormat } }

并将第二个 TOC 的“T”字体格式化为白色,大小为 1pt(或更小,如果可能的话)。注意,将“T”格式化为隐藏不起作用,因为 Word 会将域代码视为以“OC”开头。

从布局的角度来看,我无法找到任何重大改进,但如果有人可能在非英语语言版本的 Word 上打开/更新您的文档,您可能应该使用

{ IF "{ TOC \c "Figure" }" = "{ TOC \c "Nolist" }" (etc...) }

其中 Nolist 已知没有关联的 SEQ 字段。不过,你会得到一个额外的提示。

此外,如果有人可能在 Mac Word(无论如何,2011 年)上打开/更新您的文档,该版本实际上会生成带有建议的多行错误消息(而 Windows Word 将建议放在消息框中)。结果仍然只占用几个垂直空间点,但您可以为只有一个条目的东西生成一个 TOC。总的来说,我认为你最终会得到类似的东西

{ IF "{ TOC \c "Figure" }" = "{ TOC \c "Nolist" }" "{ SET ToCFormat Charformat }{ SET theList OneEntry }Your error message" "{ SET ToCFormat Mergeformat }{ SET theList Figure }" }{ SEQ OneEntry \#"' '" }{ TOC \c { theList } \* { ToCFormat } }

像以前一样格式化“T”并修复您必须使用 * 开关修复的任何内容。

最后,从国际的角度来看,使用“''”,加上两个左单引号(U+2018),是比“' '”更好的选择,但只是为了处理瑞士的区域设置,可能不适用于旧版本的 Word。

于 2013-10-01T19:06:53.133 回答