在如何利用word的activex控件构建调查问卷(上)中,已详细阐述了单选与多选功能的具体实现步骤。本文将继续深入,介绍如何通过vba编程动态控制文本框的启用/禁用状态,实现选项间的逻辑联动,并进一步完成问卷文档的自动邮件发送及文档保护配置,从而增强问卷的交互体验与数据安全性。
1、在“你零花钱会比以往更多吗?”问题右侧插入两个选项按钮(OptionButton)和一个文本框(TextBox),将两个选项按钮的Caption属性分别设为“会”和“不会”,并统一将其GroupName属性设置为group4。

2、将文本框的Name属性命名为money(也可根据需要自定义其他名称,后续代码中需保持一致)。

3、将“会”对应的选项按钮Name设为havesite,“不会”对应的选项按钮Name设为nosite。

4、当用户选择“会”时,文本框应处于可编辑状态;若选择“不会”,则文本框须设为不可用,并呈现灰色背景以示禁用。
5、切换至VBA编辑器,在对应控件的Click事件中粘贴指定代码(其中绿色部分为说明性注释,无需输入)。
6、点击该选项按钮时,将触发预设的响应逻辑,执行相应状态切换操作。
7、激活文本框,使其具备文字输入能力。
8、将文本框BackColor设为白色,使用十六进制颜色值&HFFFFFF表示。
9、点击此按钮不执行任何跳转或额外动作,仅用于界面占位或视觉提示。
10、调用Enabled属性将文本框设为False,阻止用户进行任何输入操作。
11、将文本框背景色更改为灰色,对应十六进制颜色值为&HC0C0C0。

12、退出设计模式,实时预览控件联动效果。

13、插入命令按钮(CommandButton),在属性窗口中将其Caption设为“提交调查表”,可通过Font属性调整字体样式,同时将AutoSize设为True,使按钮尺寸自动适配文字长度,确保显示清晰、布局合理。

14、双击该按钮进入VBA编辑界面,输入配套的发送与保存逻辑代码。
15、将当前正在编辑的问卷文档另存为“调查问卷.docx”或其他指定文件名。
16、以“调查问卷”为邮件主题,将当前文档作为附件发送至邮箱 rich_jingyan@163.com,供审核人员查阅并提出修改建议。

17、注释内容(绿色文字)仅为辅助说明,编写代码时无需录入。实际应用中,请将收件人邮箱替换为当前使用的有效邮箱地址。需注意:该邮件功能存在兼容性限制,实测中尚未成功接收到所发问卷邮件。退出设计模式后点击按钮,系统将调出默认邮件客户端界面。

18、填写完毕后退出设计模式,并启用文档保护机制,防止误操作导致格式错乱或内容被意外删除。

19、在“限制编辑”面板中勾选“仅允许在文档中进行此类型的编辑”,并选择“填写窗体”选项,确保用户只能操作ActiveX控件区域。

20、点击“是,启动强制保护”,输入并确认密码,完成文档保护设置。

21、最终实现效果如下图所示。












