是否可以在 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”按钮开始,则可以获得没有按下任何按钮的初始状态,但是一旦按下一个按钮,就应该始终按下一个按钮。