1
我正在掃描包含表格內部和外部的列表元素的文檔。一旦我找到一個列表元素,我將它的層次結構編號和與它相關的文本導出到Excel中。我的掃描是基於列表元素而不是專門的表格。確定哪個表ListParagraph元素出現在Word VBA中
在某些情況下,list元素將出現在表的第一列中,並且與其關聯的文本將出現在該表的任意數目的後續列中。在一些表格中有合併單元格,所以我需要確定表格當前行中的列數。
我不斷收到運行時錯誤'438':對象不支持該屬性或線路tCol = oLI.Range.Tables(1).Rows(oCurrentRow).Columns.Count
上的方法,我不知道爲什麼。
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlWB = xlApp.Workbooks.Add ' create a new workbook
With xlWB.Worksheets(1)
For Each oList In ActiveDocument.Lists
For Each oLI In oList.ListParagraphs
.Cells(i, 1) = oLI.Range.ListFormat.ListString
If oLI.Range.Information(wdWithInTable) = True Then
'#DETERMINE WHICH TABLE TO LOOK IN
oCurrentRow = oLI.Range.Cells(1).RowIndex
'Determine which Row in the Table to look in
tCol = oLI.Range.Tables(1).Rows(oCurrentRow).Columns.Count
'Determine how many Columns the Table contains
Debug.Print tCol
For j = 2 To tCol
.Cells(i, j) = oLI.Range.Tables(1).Cell(oCurrentRow, j)
Next j
Else
.Cells(i, 2) = oLI.Range.Text
End If
i = i + 1
Next oLI
Next oList
End With
謝謝,我在前一段時間發現了自己愚蠢的錯誤,但由於我是新手,無法發佈它。 我可以使用上面提出的方法,但它仍然需要額外的功能,因爲如上所述,我使用計數器向表格中的每列右移。 雖然再次感謝! – Eagles5iveBC 2013-04-23 19:35:11