WD97: 如何创建相互独占使用 VBA 的复选框

文章编号: 172178 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

在 Microsoft Word 没有内置功能来强制用户选择一个复选框型窗体域的一组复选框。

例如如果您有三个复选框: 是、 否,并决定,用户可以选择多个一次。但是,您希望限制用户选中一个复选框。

本文介绍了一种方法使用 Visual Basic 应用程序,您可以使用强制用户从一组复选框选择一个复选框。

更多信息

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证,其中包括但不是限于对适销性和/或针对特定用途的适用性的暗示的担保。本文假定您熟悉所演示的编程语言和工具用于创建和调试过程。Microsoft 支持专业人员可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您特定需要。
如果有限编程体验您可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。有关更多的信息请访问以下 Microsoft 网站:

Microsoft 认证合作伙伴-https://partner.microsoft.com/global/30000104

Microsoft 咨询服务-http://support.microsoft.com/gp/advisoryservice

有关可用的支持选项和有关如何与 Microsoft 联系的详细信息,请访问下面的 Microsoft 网站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS下面的示例 Visual Basic 应用程序的宏演示两个组的窗体上的复选框。一个组包含名为是,否,复选框和 Undecided 和其他组中包含名为 True 复选框和 False。当您选择其中一个复选框组中时,清除其他复选框。
   Sub ToggleCheckBoxOnEntry()
      Dim fFields As FormFields
      Dim fSelectedField As FormField
      Set fFields = ActiveDocument.FormFields
      For Each fSelectedField In Selection.FormFields
         ' Form field must be a check box.
         If fSelectedField.Type = wdFieldFormCheckBox Then
            ' Go to the case for the currently selected group.
            Select Case fSelectedField.Name
               ' Yes, No, or Undecided check box group.
               Case "Yes", "No", "Undecided"
                  ' Clear all values.
                  fFields("Yes").CheckBox.Value = False
                  fFields("No").CheckBox.Value = False
                  fFields("Undecided").CheckBox.Value = False
               ' True or False check box group.
               Case "True", "False"
                  ' Clear all values.
                  fFields("True").CheckBox.Value = False
                  fFields("False").CheckBox.Value = False
               ' You can add other Case statements for other groupings.
               ' For example:
               'Case
               '   <Code>
               'Case
               '   <Code>
               Case Else
            End Select
            ' Check the selected formfield.
            fSelectedField.CheckBox.Value = True
         End If
      Next
   End Sub
				
要分组您的文档中的任何复选框,请使用此宏,分配 ToggleCheckBoxOnEntry() 作为入口宏组中每个复选框型窗体域。

Select Case 语句有关的详细信息,单击 Office 助手时,Visual Basic 编辑器中,键入 Select Case 语句,单击搜索,然后单击查看"选择 Case 语句。

注: 如果隐藏的助手单击常用工具栏上的 Office 助手按钮。如果不能够回答您的查询助手,请参阅 Microsoft 知识库中下面的文章:
176476未应答 Visual Basic 问题 OFF: Office 助手


有关更多的信息,请参阅下面 Microsoft 知识库中相应的文章:
173707OFF97: 如何运行知识库文章中的示例代码

参考

有关帮助您使用 vba 的应用程序的详细信息请参阅 Microsoft 知识库中下面的文章:
163435VBA: 为应用程序的 Visual Basic 编程资源

属性

文章编号: 172178 - 最后修改: 2007年7月13日 - 修订: 2.4
这篇文章中的信息适用于:
  • Microsoft Word 97 标准版
关键字:?
kbmt kbdtacode kbhowto kbmacroexample kbui KB172178 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 172178
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈