我正在开发一个Word宏,用于检查用户选择的一系列复选框内容控件的有效性。复选框分为是 - 否对。目前,如果用户选中对中的两个复选框而未选中任何一个,则会在侧面显示注释。
例如,我的文档如下所示:
Was an interpreter used?
yes[ ] no[ ]
If yes, was the interpreter understood?
yes[ ] no[ ]
如果用户在第一个问题中同时选中是和否而未将[x]
的值更改为"Was an interpreter used?"
,则会在"Please check one of the following:"
周围的书签中添加评论,例如Document_ContentControlOnExit
每次触发no[ ]
事件时都会检查复选框组的有效性。通常,用户可以通过按空格键来更改是否选中复选框。
问题是,添加评论后,空格键会停止,允许用户切换下一个复选框。例如,如果我在第一个问题中选择了Was an interpreter used?
框,并按Tab键,则会在yes[ ]
添加评论,并在下一个问题中将焦点转移到yes[ ]
。但是现在,如果用户按空格键,则第二个问题中的yes[ ]
不会被检查。我仍然可以通过复选框进行选项卡,只要我从Set myComment = TempDoc.Comments.Add(TempDoc.Bookmarks(Bookmark).Range, Text)
跳出标签,就会返回空格键功能。我目前用来添加评论的行是:
{{1}}
该行只是为预先定义的书签添加新评论,提醒用户该错误。我几乎肯定这是导致空格键停止工作的线,因为当我评论它时一切正常。
如何在添加评论后让空格键切换下一个复选框?
答案 0 :(得分:1)
我不知道造成这种情况的确切机制,但在我看来,在您创建评论后,Word正在选择不同级别的下一个文本框'比否则。我创建了一个我认为你正在做的非常基本的版本,当我从一组需要评论的复选框中选中时,我看到的与我从一组复选框中选中的标签略有不同不需要评论。
似乎解决了这个问题的原因是在添加评论的行之后添加了一行:
Selection.End = Selection.Start
这似乎迫使复选框的选择状态回到空格键工作所需的状态。希望这对你有用。似乎没有大量关于此Word功能在线的文档。