注册 登录
编程论坛 VFP论坛

批量将word文档中的信息提取出来并存储到Excel中

王咸美 发布于 2024-04-28 18:29, 307 次点击
同一文件夹下有许多以学生名字命名的word文档,我想将所有学生word文档上的信息汇总到Excel表格中,不知如何操作,现贴出VBA代码,请高手改为vfp代码,万分感谢!!!
学生考试成绩信息表如下:
只有本站会员才能查看附件,请 登录

Excel汇总表格式如下:
只有本站会员才能查看附件,请 登录

VBA代码如下:
只有本站会员才能查看附件,请 登录
11 回复
#2
吹水佬2024-04-28 18:40
最好给个文件测试
#3
nbwww2024-04-28 18:57
https://bbs.bccn.net/search.php?searchid=30&orderby=lastpost&ascdesc=desc&searchsubmit=yes

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

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

#4
王咸美2024-04-28 19:07
由于电脑出现故障,是在手机上操作的,word文件见上面学生成绩信息表,VBA代码如何改为VFP代码,请高手赐教。谢谢!

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

#5
王咸美2024-04-28 20:06
只有本站会员才能查看附件,请 登录
#6
王咸美2024-04-28 20:17
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


 3个学生考试成绩信息表已发,请高手赐教,万分感谢!!!
#7
吹水佬2024-04-28 23:01
只有本站会员才能查看附件,请 登录

程序代码:

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
#8
王咸美2024-04-28 23:50
谢谢!!!
#9
王咸美2024-04-29 07:29
我用的是word2003 Excel2003,程序运行后生成的表格中无学生考试成绩信息
#10
吹水佬2024-04-29 12:41
以下是引用王咸美在2024-4-29 07:29:38的发言:

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

2003版本好像不是用docx、xlsx格式文件
#11
王咸美2024-04-29 14:17
谢谢!问题已解决。
#12
凝聚双眼2024-04-29 14:53
以下是引用王咸美在2024-4-29 07:29:38的发言:

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


*.doc
*.xls
1