我正在尝试在 MS Word 2007 中创建一个受保护的表单。但是,创建后它不会在文本字段之间切换,也不会从一个文本字段切换到下一个字段,它只会在文本字段内切换。对于其他所有内容,例如日期框、列表框等,它将切换到下一个字段。
我尝试使用富文本控件、纯文本控件、文本表单字段和文本框控件,但它们都执行相同的操作。
答案1
我发现您需要为每个表单字段编写宏: http://www.word.mvps.org/FAQs/TblsFldsFms/SetTabOrder.htm
我为自己的表单做了不同的解决方法。我将其设置为我想要跳转到的字段位于当前突出显示的字段下方。如果您使用表格,它将起作用。
我创建了一个三单元格表格,并相应地将信息划分到各个单元格中。如果您创建了多行,制表符将会交叉 — 您甚至会停留在无法输入或更改任何内容的单元格中 — 因此请确保您的表格只有一行,但列却交叉。
在每个单元格中,我使用回车键来添加更多信息/字段。在创建表单时,您可以使用 CTRL+Tab 在单元格内切换,以获得美观的格式化外观。
我使用的是 LEGACY 文本表单字段,而不是更新的 Word 2007 字段(在控件框中的开发人员选项卡上,您将看到一个文件夹图标,前面有几种交叉的工具)。
保护表单后,一切就绪了。我想,如果您需要在向下跳转之前先跨过表单,您可以尝试使用行和列,但您的选择可能会受到限制。
答案2
我有 MS Word 2010,使用纯文本框时这个问题似乎已经解决(富文本仍然在控件中插入选项卡)。这可能已在 MS Word 2007 的更新中得到解决
答案3
我在设计时使用表格在 Word 中创建了一个表单。这真是太棒了。我可以更改、添加和删除单元格,这样我的材料就可以排列在我想要的位置。
然后,经过长时间的研究,并且接受了我的员工必须在字段之间向下箭头的想法后,我发现,如果使用常规文本而不是富文本,制表符可以完美地工作。
我必须进入并删除所有旧字段并添加新字段,以确保我没有遗漏任何内容,并且在我的非常长且复杂的表格中没有留下任何旧字段的残留。
因此,底线是:是的,您可以使用制表符,它完美地遵循了我的单元格的顺序!
答案4
试试这个代码:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then TextBox2.Activate
End Sub