Ms word 最近一次分配给书签,因此下次执行“Number#”字段时,它们应该可以正常工作

Ms word 最近一次分配给书签,因此下次执行“Number#”字段时,它们应该可以正常工作,ms-word,seq,Ms Word,Seq,我认为,要使用Cindy Meister的答案中给出的一般方法实现您的目标,您需要有两个单独的标题级别,一个用于不带字母的数字,另一个用于带字母的数字。然后,用户或某些VBA(比如)必须为每个表决定使用哪个标题级别。但即使是这样(她可能还有其他想法),这在操作上也可能比基于现场的方法更简单。我想只有你能做出决定 可能有一个更简单的基于字段的公式,但基本问题是无法测试SEQ或SET字段的“最终值”,只能测试它在执行点的值。例如,如果有一个\f标志允许您测试SEQ字段的最终值,则可以使用 { IF

我认为,要使用Cindy Meister的答案中给出的一般方法实现您的目标,您需要有两个单独的标题级别,一个用于不带字母的数字,另一个用于带字母的数字。然后,用户或某些VBA(比如)必须为每个表决定使用哪个标题级别。但即使是这样(她可能还有其他想法),这在操作上也可能比基于现场的方法更简单。我想只有你能做出决定

可能有一个更简单的基于字段的公式,但基本问题是无法测试SEQ或SET字段的“最终值”,只能测试它在执行点的值。例如,如果有一个\f标志允许您测试SEQ字段的最终值,则可以使用

{ IF { SEQ "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" \f } > 1 .... }

为了测试每个表中“number#”项的数量,而不必设置令人尴尬的表尾字段。

我相信下面的字段代码方法将为您提供示例图像中指示的编号(其中每个标题1段落的表编号将重新开始。但是,它可能只适用于“行内”字段表,而不是浮动表或文本框中的表等

这里的主要目的是确保可以为每个新的“数字”插入完全相同的字段代码这是您需要的,但要实现这一点,您还必须在每个表的开头和结尾添加一些代码。您还需要选择并重新执行所有字段代码两次,以确保它们得到正确更新-这是Cindy Meister的回答中提到的缺点

在每个表的开头或之前,放置以下字段。(如果您已经在每个表之前放置了表标题,则可以稍微不同地执行此操作。)

这将增加表格编号,在每个标题1段落处重置,并将字母编号重置为0

对于表中所需的每个“数字”,请使用以下字段:

Number #{ STYLEREF 1 \s }{ SEQ tbl \c #00 }{ SEQ ltr \h }{ IF { REF "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" } > 1 "{ SEQ ltr \c \*alphabetic }" "" }
这将插入适当的标题编号和表格编号,并增加字母编号。然后,它将查看包含此表格中“number#”条目的书签。例如,如果标题1编号为4,而这是该标题下的第三个表格,则书签将称为“chap1tbl4”。如果书签的值大于1,则会添加相应的字母

但是我们必须创建书签和值,我们只能在该表的所有“Number#”字段之后创建书签和值。因此,在每个表的末尾,或紧跟在该表之后和任何新的标题1段落之前,您将需要以下字段代码:

{SET“chap{STYLEREF 1\s}tbl{SEQ tbl\c}”{SEQ ltr\c}

问题是Word按照字段代码在文档中出现的顺序计算字段代码字段,则书签将没有值。因此,第一次选择所有字段并执行它们时,您可能会看到错误的答案。完成此操作后,将创建书签。Word将使用最近分配给书签的值,因此下次执行“Number#”字段时,这些字段应能正常工作

我认为,要使用Cindy Meister的答案中给出的一般方法实现您的目标,您需要有两个单独的标题级别,一个用于不带字母的数字,另一个用于带字母的数字。用户,或一些VBA(例如)然后必须为每个表决定使用哪个标题级别。但即使是这样(她可能还有其他想法),这可能仍然是一种操作上比基于字段的方法更简单的方法。我怀疑只有您能够做出决定

可能有一个更简单的基于字段的公式,但基本问题是您无法测试SEQ或SET字段的“最终值”,只能测试其在执行点的值。例如,如果有一个\f标志允许您测试SEQ字段的最终值,您可以使用

{ IF { SEQ "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" \f } > 1 .... }

测试“number#”的编号每个表中的条目,而不必设置令人尴尬的表尾字段。

感谢您的回复。我刚刚上传了另一个主题插图,因为前者完全展示了您的想法。1.它应该首先从章节号2开始。编号应采用01、02等格式。3.如果表中包含不止一行,这是因为多行是同一条件的一部分。在这种情况下,我需要一个a、b、c等形式的子编号。如果我错了,请纠正我,但我看不到Word自动内置编号的能力。我相信这个解决方案是有效的。记住在编号后添加空格,我也可以交叉引用编号。我很高兴它能为您工作-自动编号,当它工作时,确实会使交叉引用的生活更轻松,等等。如果您有时间激活问题答案的复选标记,这将帮助其他人搜索具有类似问题的网站,以识别哪些建议有用:-)附加问题:多级列表是否可能具有跨多行的格式?例如数字1001a、数字1001b等。不,我不这么认为。我尝试输入一个Shift+Enter字符(新行),对话框接受该字符,但它插入了一个符号而不是分隔符。它根本不接受新的段落。谢谢你的回复。我刚刚上传了另一个关于这个主题的插图,因为前者完全展示了你的想法。1.首先应该从第2章开始。编号应采用01、02等格式。3。如果一个表包含多行,这是因为多行是同一条件的一部分。在这种情况下,我将需要在a,b,c等形式的子编号
{ IF { SEQ "chap{ STYLEREF 1 \s }tbl{ SEQ tbl \c }" \f } > 1 .... }