ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 把一个word里800多个人的成绩批量转化为Excel格式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-9-6 12:59 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 kaug0178 于 2016-9-6 13:05 编辑

扫描的,得到word文件,横版如下,800多人
准考证号:9834759437     考生号:162340101       姓名:李二    总分318               准考证号:9834759437     考生号:162340102   姓名:张三    总分438
市级评价科目  语文:65  数学:61   外语:47(含听力 12 理化:27  政史:63  //  市级评价科目  语文:85  数学:71   外语:87(含听力 13 理化:56  政史:79

准考证号:9834759437     考生号:162340103       姓名:李二    总分318               准考证号:9834759437     考生号:162340104  姓名:张三    总分438
市级评价科目  语文:65  数学:61   外语:47(含听力 12 理化:27  政史:63  //  市级评价科目  语文:85  数学:71   外语:87(含听力 13 理化:56  政史:79

请大神们帮忙,怎么自动成EXcel,以考生号为标准


考号语文数学外语理化政史
162340101
65
61
47
27
63
162340102
162340103
162340104

4U1ZW6T9_LY40J[{}4FLX]1.png

使用word2003.rar

5.5 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2016-9-6 14:02 | 显示全部楼层
Mark 一下,这个问题坐等高人出手

TA的精华主题

TA的得分主题

发表于 2016-9-6 20:55 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-9-6 22:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
还是传个真实的附件吧,模拟的附件容易出问题..........................................................

TA的精华主题

TA的得分主题

发表于 2016-9-6 23:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请下载附件,打开Word文件,点击按钮

源文件说明.rar

22.37 KB, 下载次数: 152

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2016-9-6 23:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主,duquancai(段全才)朋友出手了,我本不该出手,他是高手!但我也费心编了一个宏,请楼主一试:(请将此宏复制一下,然后在 Word 2003 中,按 Alt+F11 打开 VBE 编程环境,再按 Ctrl+End 将光标移到所有编码末尾,粘贴代码后关闭 VBE,然后打开楼主的文档(请注意备份),按 Alt+F8 打开宏列表,找到本宏名 test,然后按“运行”按钮即可,请注意提示!处理完毕注意抽查!)
  1. Sub test()

  2.     If MsgBox("请确认你的 Word 2003 文档中,头几个字符就是<准考证号……>,否则会出错!处理完毕后请自行抽查!" & vbCr & "是否继续?", vbYesNo + vbCritical) = vbNo Then End

  3. 'Sub 删除手动换行符和假段落标记()
  4.     ActiveDocument.Content.Find.Execute findtext:="^l", replacewith:="^p", Replace:=wdReplaceAll
  5.     ActiveDocument.Content.Find.Execute findtext:="^13", replacewith:="^p", Replace:=wdReplaceAll

  6. 'Sub 删除空行()
  7.     Dim i As Paragraph
  8.     For Each i In ActiveDocument.Paragraphs
  9.         If Len(i.Range) = 1 Then i.Range.Delete
  10.     Next

  11. '替换
  12.     ActiveDocument.Content.Find.Execute findtext:="含听力 ", replacewith:="含听力", Replace:=wdReplaceAll
  13.     ActiveDocument.Content.Find.Execute findtext:="^p市级评价科目", replacewith:=" 市级评价科目", Replace:=wdReplaceAll
  14.     ActiveDocument.Content.Find.Execute findtext:=":", replacewith:=":", Replace:=wdReplaceAll

  15. '循环遍历每个段落
  16.     Selection.HomeKey Unit:=wdStory
  17.     For Each i In ActiveDocument.Paragraphs
  18.         Selection.Find.ClearFormatting
  19.         Do While Selection.Find.Execute(findtext:="  准考证号", Forward:=True)
  20.             Do
  21.                 Selection.MoveEnd Unit:=wdCharacter, Count:=1
  22.             Loop Until Selection Like "*市级"
  23.             Exit Do
  24.         Loop
  25.         Selection.MoveEnd Unit:=wdCharacter, Count:=-2
  26.         Selection.Cut
  27.         Selection.Find.Execute findtext:="//", Forward:=True
  28.         Selection.Paste
  29.         i.Range.Characters.First.Copy
  30.     Next

  31. '替换
  32.     ActiveDocument.Content.Find.Execute findtext:="//", replacewith:="", Replace:=wdReplaceAll
  33.     ActiveDocument.Content.Find.Execute findtext:="市级评价科目", replacewith:="", Replace:=wdReplaceAll
  34.     ActiveDocument.Content.Find.Execute findtext:=" 准考证号", replacewith:="^p准考证号", Replace:=wdReplaceAll

  35. 'Sub 删除段落首尾空格()--'全选/居中/两端对齐
  36.     Selection.WholeStory
  37.     CommandBars.FindControl(ID:=122).Execute
  38.     CommandBars.FindControl(ID:=123).Execute

  39. '套进表格(以空格为界)
  40.     Selection.WholeStory
  41.     Selection.ConvertToTable Separator:=4, NumColumns:=10, NumRows:=12, _
  42.         AutoFitBehavior:=wdAutoFitFixed
  43.     With Selection.Tables(1)
  44.         If .Style <> "网格型" Then
  45.             .Style = "网格型"
  46.         End If
  47.         .ApplyStyleHeadingRows = True
  48.         .ApplyStyleLastRow = True
  49.         .ApplyStyleFirstColumn = True
  50.         .ApplyStyleLastColumn = True
  51.     End With

  52. '替换
  53.     ActiveDocument.Content.Find.Execute findtext:="准考证号:", replacewith:="", Replace:=wdReplaceAll
  54.     ActiveDocument.Content.Find.Execute findtext:="考生号:", replacewith:="", Replace:=wdReplaceAll
  55.     ActiveDocument.Content.Find.Execute findtext:="姓名:", replacewith:="", Replace:=wdReplaceAll
  56.     ActiveDocument.Content.Find.Execute findtext:="总分", replacewith:="", Replace:=wdReplaceAll
  57.     ActiveDocument.Content.Find.Execute findtext:="语文:", replacewith:="", Replace:=wdReplaceAll
  58.     ActiveDocument.Content.Find.Execute findtext:="数学:", replacewith:="", Replace:=wdReplaceAll
  59.     ActiveDocument.Content.Find.Execute findtext:="外语:", replacewith:="", Replace:=wdReplaceAll
  60.     ActiveDocument.Content.Find.Execute findtext:="理化:", replacewith:="", Replace:=wdReplaceAll
  61.     ActiveDocument.Content.Find.Execute findtext:="政史:", replacewith:="", Replace:=wdReplaceAll
  62. '
  63.     Selection.InsertRowsAbove 1
  64.     Selection.TypeText Text:="准考证号"
  65.     Selection.MoveRight Unit:=wdCell
  66.     Selection.TypeText Text:="考生号"
  67.     Selection.MoveRight Unit:=wdCell
  68.     Selection.TypeText Text:="姓名"
  69.     Selection.MoveRight Unit:=wdCell
  70.     Selection.TypeText Text:="总分"
  71.     Selection.MoveRight Unit:=wdCell
  72.     Selection.TypeText Text:="语文"
  73.     Selection.MoveRight Unit:=wdCell
  74.     Selection.TypeText Text:="数学"
  75.     Selection.MoveRight Unit:=wdCell
  76.     Selection.TypeText Text:="外语"
  77.     Selection.MoveRight Unit:=wdCell
  78.     Selection.TypeText Text:="理化"
  79.     Selection.MoveRight Unit:=wdCell
  80.     Selection.TypeText Text:="政史"
  81.     Selection.MoveRight Unit:=wdCell
  82.     Selection.TypeText Text:="此列删除"

  83.     Selection.Tables(1).Select
  84.     MsgBox "处理完毕!!!!!!" & vbCr & "请手工剪切到 Excel 中,并删除最后一列!", vbOKOnly + vbExclamation

  85. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-7 07:38 | 显示全部楼层
413191246se 发表于 2016-9-6 23:56
楼主,duquancai(段全才)朋友出手了,我本不该出手,他是高手!但我也费心编了一个宏,请楼主一试:(请 ...

一大早就来看看,感谢你,上午处理不了,等等

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-7 07:39 | 显示全部楼层
duquancai 发表于 2016-9-6 23:23
请下载附件,打开Word文件,点击按钮

不管咋样都谢谢啦,我上午没时间。等弄好了告诉各位

TA的精华主题

TA的得分主题

发表于 2016-9-7 21:14 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-8 09:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
duquancai 发表于 2016-9-6 23:23
请下载附件,打开Word文件,点击按钮

神啊,我用的是word2003,说安装时候不支持宏,,打开时候,按钮是个图片,我无语了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-13 17:12 , Processed in 0.029351 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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