基于另一个邮件合并字段抑制Word中的文本和邮件合并字段

问题描述 投票:0回答:1

我们的学生信息系统(SIS)使用Word的邮件合并功能来创建自定义文档。我正在尝试重新创建状态提供的表单,并且需要一些帮助。

在文档中,我有六个“源”:每个源都有一个复选框,一个静态文本描述和一个描述字段。我想将六行显示为单独的行,但是如果未选中该行的复选框,那么我根本不希望该行显示。我也不希望复选框实际显示在这里(它将显示在其他位置)。我要寻找的效果是一张表格,其中每行的可见性由复选框控制,并且空行折叠。

当我创建文档时,SIS会创建一个引用了所有字段的入门文档。经过一点按摩,这就是我所拥有的:

{ MERGEFIELD TableStart:REV_DATA_ROOT/StudentDocument \*MERGEFORMAT}
    { MERGEFIELD @CogS1??TYPE=CHECKBOX} Source 1 { MERGEFIELD @CogS1Desc}
    { MERGEFIELD @CogS2??TYPE=CHECKBOX} Source 2 { MERGEFIELD @CogS2Desc}
    { MERGEFIELD @CogS3??TYPE=CHECKBOX} Source 3 { MERGEFIELD @CogS3Desc}
    { MERGEFIELD @CogS4??TYPE=CHECKBOX} Source 4 { MERGEFIELD @CogS4Desc}
    { MERGEFIELD @CogS5??TYPE=CHECKBOX} Source 5 { MERGEFIELD @CogS5Desc}
    { MERGEFIELD @CogS6??TYPE=CHECKBOX} Source 6 { MERGEFIELD @CogS6Desc}
{ MERGEFIELD TableEnd:REV_DATA_ROOT/StudentDocument \*MERGEFORMAT}

因此,如果仅选中了源1和源5的复选框,将仅显示这两行:

 Source 1   Et ultrices neque ornare aenean euismod elementum nisi quis.
 Source 5   Ultricies tristique nulla aliquet enim tortor at auctor urna.

((如果描述转到下一行,我将使用制表符和悬挂缩进来模拟实际表格)

我特别要避免的是在未选中的复选框所在的地方有一个空白行。这可能吗?

编辑:当我自行打印@ CogS1等而不将类型设置为复选框时,它会打印True或False,因此应该可以在IF语句中使用它,但我没有得到它工作。另外,在上面的原始代码中,我在“ TYPE = CHECKBOX”之前输入了一个问号。它实际上是两个问号,并且代码已更新以反映这一点。

ms-word mailmerge
1个回答
0
投票

为了解决我的问题,我需要使用IF合并字段,并在“ True”结果中嵌入回车符;我还需要在六个IF合并字段之间没有回车符。根据我最初给出的示例,这是我最终要做的事情:

{IF {MERGEFIELD @CogS1} = "true" "Source 1: {MERGEFIELD @CogS1Desc}
"}{IF {MERGEFIELD @CogS2} = "true" "Source 2: {MERGEFIELD @CogS2Desc}
" ""}{IF {MERGEFIELD @CogS3} = "true" "Source 3: {MERGEFIELD @CogS3Desc}
" ""}{IF {MERGEFIELD @CogS4} = "true" "Source 4: {MERGEFIELD @CogS4Desc}
" ""}{IF {MERGEFIELD @CogS5} = "true" "Source 5: {MERGEFIELD @CogS5Desc}
" ""}{IF {MERGEFIELD @CogS6} = "true" "Source 6: {MERGEFIELD @CogS6Desc}
" ""}

© www.soinside.com 2019 - 2024. All rights reserved.