Добрый день.
Как в VBA Word достать номера абзацов? (отмечено красным на скрине)
У меня есть код, который обрабатывает таблицы в Word'e и берёт последний абзац перед каждой таблицей. Есть необходимость достать номер тоже.
Код:
Код |
---|
Sub KPI() Dim wd As New Document Set wd = ActiveDocument tc = wd.Tables.Count ReDim mas(1 To tc, 1 To 10) For i = 1 To tc If i = 1 Then Set ps = wd.Range(0, wd.Tables(1).Range.Start - 1).Paragraphs Else Set ps = wd.Range(wd.Tables(i - 1).Range.End, wd.Tables(i).Range.Start - 1).Paragraphs End If For lp = ps.Count To 1 Step -1 If Len(ps(lp)) > 5 Then mas(i, 1) = CleanString(ps(lp)) Exit For End If Next For k = 1 To wd.Tables(i).Rows.Count mas(i, k + 1) = CleanString(wd.Tables(i).Cell(k, 2).Range) Next Next Set xl = CreateObject("Excel.Application") xl.Visible = True With xl.Workbooks.Add.Sheets(1) .Cells(1).Resize(tc, 10).Value = mas With .UsedRange .ColumnWidth = 27 .Columns(2).ColumnWidth = 72 .Columns(6).ColumnWidth = 72 .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True End With End With Set xl = Nothing End Sub |