ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3253|回复: 10

一个难题!(已传附件,刚才没操作没有完成)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-22 17:32 | 显示全部楼层 |阅读模式

假设有这样一个调查表有n项记录,对n个人进行了调查,当然都是word文档

最后要求导出一个类似以下的统计表出来

编号 姓名 性别 年龄

1

2

3

怎么解决啊,谢谢各位指教

iJphkGnl.rar (6.58 KB, 下载次数: 27)
[此贴子已经被作者于2005-4-23 11:05:18编辑过]

TA的精华主题

TA的得分主题

发表于 2005-4-22 17:58 | 显示全部楼层

你必须上传附件,或者,如果有保密的话,可以发到我的HOTMAIL中。

shourou_8@hotmail.com

我可以试着为你做一下合并。

TA的精华主题

TA的得分主题

发表于 2005-4-22 18:59 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-22 19:34 | 显示全部楼层

我不知道怎么发附件哦

我发到你的邮箱了

我们老师让我做的,以前也没学过

谢谢斑竹

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-23 11:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

版主帮帮忙!

我急着要

TA的精华主题

TA的得分主题

发表于 2005-4-23 12:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

所有返加的WORD文档,都在同一文件夹下? 所有WORD文档,除了第一段作为标题外,均如你的附件形式?

所有的WORD文档中,还有其它的窗体域吗?

大哥,说真的,如果你上传的附件,与实际情况不具有代表性的话,对大哥而言,只是一念之差,举手之劳,对我而言,可就惨了!

我希望你在描述时,尽量贴近实际,因为WORD VBA是针对对象而言的,任何一个对象的变化,可以导致全盘思路的错误!

谢谢,期待你的回应。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-23 12:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

所有返回的word应该都在同一文件夹下

所有的需要对方填写的都应该是文字形窗体域

谢谢!

TA的精华主题

TA的得分主题

发表于 2005-4-23 16:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请注意,这是在文字型窗体域中的循环!

以下代码供参考:

Option Explicit '请在运行代码前在VBE/工具/引用中勾选对于Microsoft Word 10.0(视版本而异) Object Library的引用 Sub GetWordText() Dim WdApp As New Word.Application, MyDialog As FileDialog, vrtSelectedItem As Variant Dim WdDoc As Word.Document, aFormField As Word.FormField, i As Integer, EndCell As Range On Error Resume Next '忽略错误 Application.ScreenUpdating = False '关闭屏幕更新 '定义一个文件夹选取对话框 Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有 WORD 文件", "*.doc", 1 '增加筛选器的项目为所有WORD文件 .AllowMultiSelect = True '允许多项选择,可以使用CTRL/SHIFT配合鼠标单击或者CTRL+A If .Show = -1 Then '确定 For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环 Set EndCell = Sheets(1).[B65536].End(xlUp).Offset(1, 0) '取得sheets(1)的B列最后一个数据单元格的下方单元格(第一个空白单元格) i = 0 '初始化变量 EndCell.Offset(0, -1) = EndCell.Row - 2 '取得行号数,即序号列 '打开指定的DOC文档,隐藏文档窗口 Set WdDoc = WdApp.Documents.Open(FileName:=vrtSelectedItem) For Each aFormField In WdDoc.FormFields EndCell.Offset(0, i) = aFormField.Range.Text '写入单元格中 i = i + 1 '计数 Next WdDoc.Close False '关闭文档 Next End If End With WdApp.Quit '退出WORD程序 Set WdApp = Nothing '释放变量 Application.ScreenUpdating = True '恢复屏幕更新 End Sub '----------------------

有问题,再作交流

mLH3wIbP.rar (9.35 KB, 下载次数: 18)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-23 19:21 | 显示全部楼层

我还有一个问题:如果同时使用复选框、文字窗体域和下拉列表框时,程序是不是变化很大,我应该怎么学习这些知识。非常感谢!

[
[此贴子已经被作者于2005-4-23 20:00:49编辑过]

TA的精华主题

TA的得分主题

发表于 2005-4-24 06:37 | 显示全部楼层

第一:你还没有回答上述代码是否可行,就开始新的问题,这种方式是否好?

第二,VBA是面向对象的程序语言,不同对象之间,集合、属性与方法亦不同,不可能泛泛而论,必须针对实际情况,比如,可能要解除文档保护,对复选框的使用,先要判断其值是多少(0,1),然后再提取其边上的文字部分等等。

[此贴子已经被作者于2005-4-24 6:37:47编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-14 15:00 , Processed in 0.051573 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表