| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:批量将word文档中的信息提取出来并存储到Excel中
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
结帖率:97.5%
收藏
已结贴  问题点数:20 回复次数:11 
批量将word文档中的信息提取出来并存储到Excel中
同一文件夹下有许多以学生名字命名的word文档,我想将所有学生word文档上的信息汇总到Excel表格中,不知如何操作,现贴出VBA代码,请高手改为vfp代码,万分感谢!!!
学生考试成绩信息表如下:
图片附件: 游客没有浏览图片的权限,请 登录注册

Excel汇总表格式如下:
图片附件: 游客没有浏览图片的权限,请 登录注册

VBA代码如下:
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: Excel 文档 代码 word 信息 
2024-04-28 18:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
最好给个文件测试
2024-04-28 18:40
nbwww
Rank: 8Rank: 8
等 级:贵宾
威 望:11
帖 子:334
专家分:810
注 册:2021-1-9
收藏
得分:4 
https://bbs.bccn.net/search.php?searchid=30&orderby=lastpost&ascdesc=desc&searchsubmit=yes

前面问的帖子里不是有答案了吗?

[此贴子已经被作者于2024-4-28 18:58编辑过]

2024-04-28 18:57
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
由于电脑出现故障,是在手机上操作的,word文件见上面学生成绩信息表,VBA代码如何改为VFP代码,请高手赐教。谢谢!

[此贴子已经被作者于2024-4-28 19:33编辑过]

2024-04-28 19:07
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
2024-04-28 20:06
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
张永珍.zip (10.27 KB)

姜翠.zip (10.26 KB)


 3个学生考试成绩信息表已发,请高手赐教,万分感谢!!!
2024-04-28 20:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:16 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)

excel = CREATEOBJECT("Excel.Application")
excel.DisplayAlerts = 0
excel.WorkBooks.Add
excel.Cells(1,1) = "姓名"
excel.Cells(1,2) = "性别"
excel.Cells(1,3) = "身份证号"
excel.Cells(1,4) = "籍贯"
excel.Cells(1,5) = "语文"
excel.Cells(1,6) = "数学"
excel.Cells(1,7) = "英语"
excel.Cells(1,8) = "历史"
excel.Columns("A:H").HorizontalAlignment = -4108    
excel.Columns("C:C").NumberFormatLocal = "@"
word = CREATEOBJECT("Word.Application")
FOR i=1 TO ADIR(aDocx,"*.docx")
    doc = word.Documents.Open(cDefPath+aDocx[i,1])
    tab = doc.tables[1]
    excel.Cells(i+1,1) = RTRIM(tab.Cell(1,2).Range.Text,0h0D,0h07,0h20)
    excel.Cells(i+1,2) = RTRIM(tab.Cell(1,4).Range.Text,0h0D,0h07,0h20)
    excel.Cells(i+1,3) = RTRIM(tab.Cell(2,2).Range.Text,0h0D,0h07,0h20)
    excel.Cells(i+1,4) = RTRIM(tab.Cell(3,2).Range.Text,0h0D,0h07,0h20)
    excel.Cells(i+1,5) = VAL(tab.Cell(4,2).Range.Text)
    excel.Cells(i+1,6) = VAL(tab.Cell(4,4).Range.Text)
    excel.Cells(i+1,7) = VAL(tab.Cell(5,2).Range.Text)
    excel.Cells(i+1,8) = VAL(tab.Cell(5,4).Range.Text)
    doc.Close
ENDFOR
word.Quit
#define xlOpenXMLWorkbook    51 
excel.ActiveWorkbook.SaveAs(cDefPath+"学生考试成绩信息表.xlsx", xlOpenXMLWorkbook)
excel.Workbooks.Close
excel.Quit 
2024-04-28 23:01
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
谢谢!!!
2024-04-28 23:50
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
我用的是word2003 Excel2003,程序运行后生成的表格中无学生考试成绩信息
2024-04-29 07:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
以下是引用王咸美在2024-4-29 07:29:38的发言:

我用的是word2003 Excel2003,程序运行后生成的表格中无学生考试成绩信息

2003版本好像不是用docx、xlsx格式文件
2024-04-29 12:41
快速回复:批量将word文档中的信息提取出来并存储到Excel中
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026335 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved