未能使用Word页码

时间:2016-09-22 10:16:00

标签: excel vba excel-vba

我已经通过VBA将表格从Word导入Excel,我打算根据Word文档中的工作表重命名工作表。但是,如果Word中的某个页面超过1个表(即2,3或更多),则无法正确重命名页面(只有第一个页面正确命名)

有人能告诉我解决这个经常性问题的正确方法是什么?

这是我正在使用的代码。谢谢!

For tableStart = tableNo To tableTot
    With .tables(tableStart)
        For iRow = 1 To .Rows.Count
            For iCol = 1 To .Columns.Count
                Cells(resultRow, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
            Next iCol
            resultRow = resultRow + 1
        Next iRow

pageNumber = .Range.Characters(1).Information(wdActiveEndPageNumber)
ActiveSheet.Name = "Page " & pageNumber
    End With
    Sheets.Add  
    resultRow = 2

Next tableStart

1 个答案:

答案 0 :(得分:0)

在OP的澄清后编辑

您必须区分每个工作表名称,因为Worksheets是给定工作簿中的工作表集合

由于您在同一页面中有更多表格,您可以从表格页面编号页面表格中构建工作表名称,如下所示:

Dim tablePageNumber As Long, PageNumber As Long, tableCode As Long

With .Tables(tablestart)
    tablePageNumber = .Range.Characters(1).Information(wdActiveEndPageNumber)
    If tablePageNumber <> PageNumber Then
        pageNumber = tablePageNumber
        tableCode = 1
    Else
        tableCode = tableCode + 1
    End If
End With
ActiveSheet.Name = "Page " & pageNumber & "-" & tableCode