将字词格式转换为Excel

时间:2019-04-12 11:04:29

标签: excel vba ms-word

我正在寻找将单词形式转换为excel的宏代码。我试过下面的代码,它一次可以正常工作。但是我想要万一我的Word文档有多个表单条目,那么它应该重复并将数据再次放在excel中的同一行和同一列下。

例如:

如果我在单词中多次使用“ Test 1”和“ Test 2”形式,则应再次将其放在同一行和同一列下。当前它放在该行旁边。

谢谢。

Sub getWordFormData()
Dim wdApp As New Word.Application
Dim myDoc As Word.Document
Dim CCtl As Word.ContentControl
Dim myFolder As String, strFile As String
Dim myWkSht As Worksheet, i As Long, j As Long

myFolder = "enter folder path" '<< enter you folder path for the word document

If Dir(myFolder & "\" & "*.*") = "" Then
    Application.ScreenUpdating = True
    MsgBox "The folder is empty."
    Exit Sub
End If

Set myWkSht = ActiveSheet
ActiveSheet.Cells.Clear
Range("A1") = "Test 1"
Range("B1") = "Test 2"
Range("A1:B1").Font.Bold = True

i = myWkSht.Cells(myWkSht.Rows.Count, 1).End(xlUp).Row
strFile = Dir(myFolder & "\*.docx", vbNormal)

While strFile <> ""
    i = i + 1

    Set myDoc = wdApp.Documents.Open(Filename:=myFolder & "\" & strFile, AddToRecentFiles:=False, Visible:=False)

    With myDoc
        j = 0
        For Each CCtl In .ContentControls
            j = j + 1
            myWkSht.Cells(i, j) = CCtl.Range.Text
        Next
        myWkSht.Columns.AutoFit
    End With

    myDoc.Close SaveChanges:=False
    strFile = Dir()
Wend

wdApp.Quit
Set myDoc = Nothing: Set wdApp = Nothing: Set myWkSht = Nothing
Application.ScreenUpdating = True

End Sub

0 个答案:

没有答案