Microsoft Word for Mac 2011 中的单选按钮

Microsoft Word for Mac 2011 中的单选按钮

是否可以在 Microsoft Word for Mac 2011 中使用单选按钮?我正在处理一个需要“要么”“要么”答案的表单。因此,复选框不够用。我知道它们在 Windows 上可用,但在 Mac 版本上找不到该选项。

答案1

问题在于 Windows Word 中的单选按钮是 Mac Word 中不存在的 ActiveX 控件。

Mac Word 上的 HTML 表单功能中有单选按钮(参见插入->HTML 对象菜单),但我对它们了解不够,无法帮助、推荐或建议您避开它们。

在 Mac 上获取单选按钮的最简单方法可能是使用 VBA 用户表单而不是文档表面的“在线表单”来构建表单。

过去,我曾尝试让复选框的工作方式更像单选按钮,方法是使用退出宏检查状态并修改“组”中的所有复选框。但问题是,当您单击复选框时,退出宏不一定会调用,因此您会遇到“组”中可以选中多个复选框的情况,即它们不是单选按钮。

我唯一能做到的方法是使用 MACROBUTTON 字段、一些书签和一段 VBA。按钮不会显示为普通表单字段,因此用户必须单击它们,而不是按 Tab 键选中它们(或双击,具体取决于它们的设置)。我还没有在实际项目中使用过这种方法,也就是说,这只是一个实验。

怎么运行的。

作为一项实验,在文档中插入一些文本表单字段。

对于每个单选按钮,插入一个如下字段:

{ MACROBUTTON radiopush O}

或者这个,代表“按下”按钮

{ MACROBUTTON radiopull X}

(使用 cmd-F9/fn-cmd-F9 插入 { })

确保“}”前没有空格

我实际上使用 Wingdings 2 字符 153 代替“O”,使用 Wingdings 2 字符 158 代替“X”。

还插入以下字段:

{ SET pulled "MACROBUTTON radiopush O" }{ SET pushed "MACROBUTTON radiopull X" }

其中 O 和 X 与 MACROBUTTON 字段中使用的字符相同。

依次选择每个宏按钮字段,然后插入书签。使用书签名称的前 4 个字符来标识“组”,然后使用名称的其余部分来唯一地标识按钮 - 例如,如果您有两组独立的 3 个单选按钮,您可以称它们为

grp1btn1
grp1btn2
grp1btn3
grp2btn1
grp2btn2
grp2btn3

选择所有字段并通过 F9/fn-F9 更新它们。

然后将以下 VBA 放在合适的位置(例如,表单附加到的 .dotm 或将表单设为 .docm 并将 VBA 放入其中)。

Sub radiopull()
'MsgBox "pull"
End Sub

Sub radiopush()
'MsgBox "push"
ActiveDocument.Unprotect
strGroup = Left(Selection.Bookmarks(1).Name, 4)
For Each bm In ActiveDocument.Bookmarks
  If Left(bm.Name, 4) = strGroup Then
    If bm.Name = Selection.Bookmarks(1).Name Then
      bm.Range.Fields(1).Code.FormattedText = ActiveDocument.Bookmarks("pushed").Range.FormattedText
     Else
       bm.Range.Fields(1).Code.FormattedText = ActiveDocument.Bookmarks("pulled").Range.FormattedText
    End If
    bm.Range.Fields(1).Update
  End If
Next
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, noreset:=True
End Sub

然后保护表单并尝试单击(可能需要双击)按钮。

如果您仅从“O”按钮开始,则可以获得没有按下任何按钮的初始状态,但是一旦按下一个按钮,就应该始终按下一个按钮。

相关内容