上一次学生评语的导入问题,因为当时不会从word中导入,所以只能要求学生用Excel填写,然后导入到大表当中去的,在实际操作中发现学生对Excel并不熟悉,导致了出现了大量的错误,学生比较熟悉的还是Word,所以现在这个程序就是来解决如何从Word中读取学生评语,然后导入到Excel中指定单元格中。由于只是要求学生把3个学期的评语分成三段来书就可以,这样应该可以更加减少学生出错的机率。

原始文件的存放格式如下图所示:

保证文件格式以及存放位置如上图所示。

一、将word版评语转化为Excel版评语:

Sub 将word评语转换成Excel评语()
    Dim sr As FileSearch '定义一个文件搜索对象
    Dim i As Integer, j As Integer, k As Integer
    Dim myFile As String, cp As String
    Dim docApp As Word.Application '定义前要先定义一个word对象的引用。
    Dim docRange As Word.Range
    Set sr = Application.FileSearch
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For i = 1 To 1 '按班级
        sr.LookIn = "E:导入评语word学生评语汇总" & Trim(Str(i)) & "班" '注意路径,换成你实际的路径
        sr.Filename = "*.doc" '搜索所有文件
        sr.Execute '执行搜索
        Cells.Delete '表格清空
        For k = 1 To sr.FoundFiles.Count
            myFile = sr.FoundFiles(k)    '指定Word文档,要保证将电子表格与word文档放在同一文件夹下。
            Set docApp = New Word.Application
            docApp.Documents.Open myFile
            Workbooks.Add
            For j = 1 To 3 '为了防止学生多敲回车,可以将此处改为3(代表3个学期)
                With docApp.ActiveDocument
                'If .Paragraphs.Count >= 4 Then
                    Set docRange = .Paragraphs(j).Range 'Paragraphs是段的意思
                    'cp = docRange
                    ActiveWorkbook.ActiveSheet.Range(Cells(j, 1), Cells(j, 1)).Value = docRange
                'End If
                End With
            Next j
            'Range("a1") = cp
            docApp.Quit savechanges:=False
            Set docRange = Nothing
            Set docApp = Nothing
            ActiveWorkbook.SaveAs Filename:=Left(sr.FoundFiles(k), Len(sr.FoundFiles(k)) - 4) & ".xls"
            ActiveWorkbook.Close savechanges:=True
        Next k
    Next i
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

二、清除100字评语

Sub 清除100字评语2()
    Dim xueqi, bj, i As Integer
    For xueqi = 1 To 3
        For bj = 1 To 23
            Workbooks.Open "E:导入评语word第" & Format(Str(xueqi)) & "学期发展报告上传数据" & Format(Str(bj)) & "班" & "sy.xls"
            totalR = Range("A65536").End(xlUp).Row
            Range(Cells(2, 10), Cells(totalR, 10)).clear
            Workbooks("sy.xls").Close savechanges:=True
        Next bj
    Next xueqi
End Sub

本来想做个对象,可以实现不打开sy.xls就可以清除,但这是不可能的,利用getobject只可引用,但不能写入,即只可以读,不可以写。

但可以通过ADO的方法来实现,一会再研究。

三、将所有学生的Excel版评语导入到“班级”sy.xls中:

Sub 将学生评语提取到班级素养表中进行汇总()
    Application.DisplayAlerts = False
    Dim totalR, i, xueqi, bj As Integer
    Dim mypath As String
    Dim py(), xh() As String
    Dim wb As Object
    For xueqi = 1 To 3
        For bj = 1 To 23
            Workbooks.Open "E:导入评语word第" & Format(Str(xueqi)) & "学期发展报告上传数据" & Format(Str(bj)) & "班" & "sy.xls"
            totalR = Range("A1").CurrentRegion.Rows.Count
            mypath = ActiveWorkbook.Path
            ReDim py(totalR - 1), xh(totalR - 1)
            For i = 2 To totalR
                xh(i - 1) = Cells(i, 1).Value
            Next i
            For i = 2 To totalR
                Set wb = GetObject("E:导入评语word学生评语汇总" & Format(Str(bj)) & "班" & xh(i - 1) & ".xls")
                On Error Resume Next
                py(i - 1) = wb.Sheets(1).Cells(xueqi, 1).Value
                wb.Close False
                Set wb = Nothing
                Debug.Print py(i - 1)
            Next i
            'Workbooks("sy.xls").Activate
            For i = 2 To totalR
                Cells(i, 10).Value = py(i - 1)
            Next i
            ActiveWorkbook.Close savechanges:=True
        Next bj
        On Error GoTo 0
    Next xueqi
End Sub

试验程序:

Sub 读取Word文档到Excel中()
    Dim myFile As String, i As Integer, cp As String
    Dim docApp As Word.Application '定义前要先定义一个word对象的引用。
    Dim docRange As Word.Range
    myFile = ThisWorkbook.Path & "3.doc"    '指定Word文档,要保证将电子表格与word文档放在同一文件夹下。
    Set docApp = New Word.Application
    docApp.Documents.Open myFile
    For i = 1 To docApp.ActiveDocument.Paragraphs.Count '为了防止学生多敲回车,可以将此处改为3(代表3个学期)
        With docApp.ActiveDocument
            'If .Paragraphs.Count >= 4 Then
                Set docRange = .Paragraphs(i).Range 'Paragraphs是段的意思
                'cp = docRange
                Range(Cells(i, 1), Cells(i, 1)).Value = docRange
            'End If
        End With
    Next i
    'Range("a1") = cp
    docApp.Quit
    Set docRange = Nothing
    Set docApp = Nothing
    'Set ws = Nothing
End Sub

再解决一下如何读取顺序文件,源程序如下:

Sub ReadMe()
    Dim rLine As String
    Dim i As Integer ' 行号
    i = 1
    Open "C:Autoexec.bat" For Input As #1
    '在循环里直到过程结束
    Do While Not EOF(1)
        Line Input #1, rLine
        MsgBox "行" & i & " 在Autoexec.bat中读取: " _
        & Chr(13) & Chr(13) & rLine
        i = i + 1
    Loop
    MsgBox i & "行被读取."
    Close #1
End Sub

 今天你菊子曰了么?

转载于:https://www.cnblogs.com/xiehui/archive/2010/04/03/2004315.html

如何实现学生评语的导入相关推荐

  1. 学生评语管理系统软件测试,学生评语管理系统测试版

    学生评语管理系统包含您写评语所需要的99%的功能,大幅度减轻教师写评语负担,并真正意义上实现学生评语的"管理"功能. 1.独创的学生评语打印/预览功能,精确套 打学生评语,打印的精 ...

  2. 计算机基础知识掌握评语,计算机教师给学生评语

    学生对老师的评语200字 专业知识过硬,风趣幽默. 善于观察,给与每个人发言的机会,经常表扬,看学生的性格和接受程度给与一定批评. 认真,大度,循循善诱,和蔼鼓励,不耻下问,以身作则. 不放弃每一个学 ...

  3. 学生评语 计算机术语版,信息技术学生评语大全

    <信息技术学生评语大全>由会员分享,可在线阅读,更多相关<信息技术学生评语大全(9页珍藏版)>请在人人文库网上搜索. 1.信息技术学生评语大全信息技术评语集锦1.在学习计算机软 ...

  4. 计算机专业评语,计算机专业学生评语

    计算机专业学生评语 1.高中的学习动机十分简单,那就是高考,学生.老师.学校三位一体为高考,可以说是不择手段.而大学,由于奋斗目标突然变得模糊,学习动机也变得模糊起来.学习的目的性偏弱,不知为何而学习 ...

  5. 学生评语 计算机术语版,计算机专业学生评语.doc

    计算机专业学生评语 1.高中的学习动机十分简单,那就是高考,学生.老师.学校三位一体为高考,可以说是不择手段.而大学,由于奋斗目标突然变得模糊,学习动机也变得模糊起来.学习的目的性偏弱,不知为何而学习 ...

  6. 最有文采有学生评语下载大全

    最有文采有学生评语下载大全 2010年01月22日 http://www.stlyzx.com/Special_News.asp?SpecialID=26 访问网址超出本站范围,不能确定是否安全 继续 ...

  7. 那是计算机房吗英语的反问句,小学生作文评语大全_学生评语.doc

    小学生作文评语大全_学生评语_范文先生网 小学生作文评语大全 读读这生动的学生作文评语,你心中会有说不出的欣喜和激动.虽然只是只言片语,却处处弥散着小作者们灵动的才思.语言之所以能如此鲜活,离不开类比 ...

  8. 计算机教师评语中职,中职计算机专业学生评语-20210614110723.doc-原创力文档

    . . . . . 学习.资料. 宿迁经贸高等职业技术学校 学生学期评语审查表 (2015---2016学年度第1学期) 系 部: 信息系 班 级: 15计算机2班 班级人数: 37 班 主 任: 周 ...

  9. 班主任爬取学生评语,批量自动写入表格,应对大量重复填表任务

    一个小网页,不让复制,所以写几句代码,爬取网页的文字,一般文字放在在P标签的那种网页,其实都可以用的 把输出的文字复制粘贴保存到文件,命名为 评语.txt import requests from b ...

最新文章

  1. 3D惯导Lidar仿真
  2. 对Oracle中索引叶块分裂而引起延迟情况的测试和分析
  3. EMC CLARiiON 的 Alignment offset
  4. hibernate中List一对多映射关系详解
  5. 如何预防食品被新冠病毒污染?国家卫健委权威解答来了
  6. 数据结构--环形链表
  7. 引入ReactiveInflux:用于Scala和Java的无阻塞InfluxDB驱动程序,支持Apache Spark
  8. elk 概念整理 集群状态 - yellow
  9. ulipad.4.1.zip linux,在ubuntu中安装ulipad
  10. Linux 五个最牛视频编辑软件
  11. 用Photoshop抠图
  12. mac java 更新_mac版java怎么更新升级 mac版java更新升级方法
  13. pull request 时遇到 conflicted 的解决方法
  14. element el-input特殊字符校验
  15. 水星路由器登录界面找不到服务器,水星路由器管理页面怎么登陆不进去? | 192路由网...
  16. 【机器学习】SVR支持向量机回归
  17. Unity两种获取屏幕点击位置的世界坐标方法
  18. 智能门锁:电源管理概述2
  19. 驱动专题:第五章MTD及Flash驱动 2.Nandflash驱动
  20. python求合数的所有因子,0是素数吗(python求一个数的因子)

热门文章

  1. ubuntu14.04安装与软件重装说明
  2. 一个新手学着重装系统之路
  3. 当涉及某个项目需要大量使用到tensorflow时,最后不要使用tensorflow的GPU版本,这会出很多毛病,最好使用CPU版本
  4. CNN中卷积和池化计算公式
  5. Virtual Box与win10系统不兼容问题
  6. 【SSL 协议介绍】
  7. UNIX环境高级编程-环境配置
  8. js代码 实现购物车功能
  9. 32位超前进位加法器
  10. Android 版本号---版本名