【求助】用excel统计word做的问卷调查

zhtzht00 2017-05-15 07:01:01
想用word写一个问卷调查,选项用单选按钮和复选框实现,然后用excel逐一统计各个选项的选择情况。

在网上找到了一个vba程序,但是这个程序针对的选项按钮和复选框是word中的旧式窗体,不能统计ActiveX控件的单选按钮和复选框,也不能统计新的复选框内容控件。

请问能否通过一些修改,让其可以统计ActiveX控件的单选按钮和复选框或者新的复选框内容控件,感谢了!

程序如下:

Private Sub CommandButton1_Click()
Dim myDialog As FileDialog, myItem As Variant, myDoc As Document
Dim myField As FormField, i As Byte, r As Integer
Dim AppExcel As Object, st As Single
On Error Resume Next
Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
With myDialog
.Title = "请选择需处理的文档"
.Filters.Clear
.Filters.Add "所有WORD文件", "*.docx", 1
.AllowMultiSelect = True
If .Show <> -1 Then Exit Sub
End With
st = Timer
Set AppExcel = GetObject(, "Excel.Application")
AppExcel.Application.ScreenUpdating = False
With AppExcel.ActiveWorkbook.ActiveSheet
r = .UsedRange.Row + .UsedRange.Rows.Count - 1
For Each myItem In myDialog.SelectedItems
Set myDoc = Documents.Open(Filename:=myItem, Visible:=False)
For Each myField In myDoc.FormFields
i = i + 1
.Rows(r + 1).Cells(i).Value = myField.Result
Next
i = 0
r = r + 1
myDoc.Close False
Next
End With
AppExcel.Application.ScreenUpdating = True
Set AppExcel = Nothing
MsgBox "Word数据提取完毕!用时:" & Format(Timer - st, 0) & "秒。"
End Sub
...全文
822 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2017-05-16
  • 打赏
  • 举报
回复
如果是在线调查的话,不必劳动 Word 的大驾,直接做一个 B/S 架构的东东,通过网页调查就很容易。

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧