VBA批量提取word表格中的自我评分

Posted Excel VBA 小天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA批量提取word表格中的自我评分相关的知识,希望对你有一定的参考价值。

  单位里普遍存在各种低效率的办公行为,比如每年的自我评分。评分细目表为word文档,每行一个项目,每个项目要填写得分事项和分值,组长审核之后转成Excel向上递交。主要涉及到问题就是word文档中一列得分要转成Excel一行内容,如果一个人就复制,粘贴到Excel,再复制,转置即可。人一多,显得很麻烦。于是写了一段VBA来处理,在此保留备份。

  

Sub 汇总个人评分()
    Dim FolderPath$, FileName$, FilePath$
    Dim wdApp As Object
    Dim Doc As Object
    Dim Tbl As Object
    Dim index&, iRow&, iCol&
    
    
    Cells.ClearContents
    
    Set wdApp = CreateObject("Word.Application")
    FolderPath = ThisWorkbook.Path & "\"
    FileName = Dir(FolderPath & "*.doc*")
    
    iRow = 0
    Do While FileName <> ""
        iRow = iRow + 1
        FilePath = FolderPath & FileName
        Set Doc = wdApp.documents.Open(FilePath)
        Set Tbl = Doc.Tables(1)
        
        Cells(iRow, 1).Value = WithNoSymbol(tb.Cell(1, 2).Range.Text)
        iCol = 1
        For index = 3 To 26
            iCol = iCol + 1
            Cells(iRow, iCol).Value = WithNoSymbol(tb.Cell(index, 5).Range.Text)
        Next index
        
        iCol = iCol + 1
        ‘Cells(iRow, iCol).Value = WithNoSymbol(tb.Cell(27, 9).Range.Text)
        Doc.Close
        FileName = Dir
    Loop
    wdApp.Quit
    Set wdApp = Nothing
    
End Sub
Function WithNoSymbol(ByVal OrgStr As String) As String
    WithNoSymbol = Left(OrgStr, Len(OrgStr) - 2)‘去除Word文档单元格后面加上两个符号
End Function

  

 

以上是关于VBA批量提取word表格中的自我评分的主要内容,如果未能解决你的问题,请参考以下文章

利用VBA如何将批量图片导入WORD的指定表格格式里?

如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?

求大神造个vba,提取总表指定位置的数据至多个固定格式表格的指定位置

Excel VBA操作word文件

excel如何用vba批量提取指定工作表?

如何用VBA宏程序将excel中的内容批量复制到word文档中去