使用Excel VBA解析Word文档的完整内容

时间:2017-03-12 04:58:06

标签: vba excel-vba ms-word excel

我想编写一个通用方法,通过循环遍历段落和形状来提取从word文档到文本文件的所有内容。

我可以使用下面的代码解析文档的90%。但是,此代码不是从几个表中读取内容。

Set objWordApp = CreateObject("Word.Application")
objWordApp.Visible = False
Set objWordDoc = objWordApp.Documents.Open(strWordDocPath)

Set objFso = CreateObject("Scripting.FileSystemObject")
Set oFile = objFso.createTextFile(strTextFilePath)
Set colParagraphs = objWordDoc.Paragraphs


For Each objParagraph In colParagraphs
    lineText =Trim(objParagraph.Range.Text)
    If lineText <> "" Then
       oFile.Write lineText & vbCrLf
    end if
next

我无法从MS word文档中提取表格中的少数文本。问题只有几个文本和表格,我能够使用我的代码从文档中读取大部分内容。

Word文档出现在以下链接中 -

https://drive.google.com/file/d/0B1C7jj9dLG2aTXJNRGt6QTBVUUE/view?usp=sharing

主要问题是解析文档中的第一个表。该文档由应用程序生成,我对内容的格式无法控制。

有人可以帮我阅读附件中的完整内容吗?

1 个答案:

答案 0 :(得分:1)

以下是您的主角:

Sub test()
    Dim tCel As Cell, cellText As String

    For Each tCel In ActiveDocument.Shapes(1).TextFrame.TextRange.Tables(1).Range.Cells
        cellText = Trim(tCel.Range.Text)
        Debug.Print cellText
    Next
End Sub