Python win32com,函数PageSetup.Pages.Count工作不正确

Python win32com,函数PageSetup.Pages.Count工作不正确,python,excel,Python,Excel,我需要将所有.xlsx文件合并为一个文件,并执行端到端编号。使用以下函数执行合并: def collect_to_one(): """Function copies to one file""" sgmts = segmentation(start_page) for book in range(len(sgmts)): wb = excel.Workbooks.Add() for file in range(len(s

我需要将所有.xlsx文件合并为一个文件,并执行端到端编号。使用以下函数执行合并:

def collect_to_one():
"""Function copies to one file"""
sgmts = segmentation(start_page)
for book in range(len(sgmts)):
    wb = excel.Workbooks.Add()
    for file in range(len(sgmts[book])):
        print(sgmts[book][file])
        w = excel.Workbooks.Open(os.path.join(os.getcwd(), sgmts[book][file]))
        w.Sheets(1).Copy(After=wb.Worksheets(file + 1))
        wb.ActiveSheet.Name = sgmts[book][file]
        w.Save()
    wb.SaveAs(os.path.join(os.getcwd(), '_'.join(('Сводный', sgmts[book][-1]))))
下一个函数对摘要文件中的每张图纸执行端到端编号:

def enum(start_page):
wb = excel.Workbooks.Open(os.path.join(os.getcwd(), "Сводный_09-04-01 +.xlsx"))
for i in range(2, len(files) + 2):
    ws_list = wb.Worksheets(i)
    ws_list.Application.PrintCommunication = False
    ws_list.DisplayPageBreaks = True
    print(ws_list.PageSetup.Pages.Count)
    ws_list.PageSetup.FirstPageNumber = start_page
    start_page += ws_list.PageSetup.Pages.Count
    ws_list.Application.PrintCommunication = True
wb.SaveAs(os.path.join(os.getcwd(), "Сводный_09-04-01 +.xlsx"))
不幸的是,ws_list.PageSetup.Pages.Count工作不正确。例如,我有6个文件,打印(ws_list.PageSetup.Pages.Count)会导致以下结果: 0(实际上该文件包含4页)

0(实际上该文件包含4页)

0(实际上该文件包含5页)

0(实际上该文件包含35页)

0(实际上该文件包含7页)

2(实际上该文件包含2页)

但是,如果我打开摘要文件并交换2张工作表,然后返回工作表的原始位置,函数将正确枚举。当然,我也可以通过添加两个代码字符串来实现这一点:

wb.Sheets(2).Move(Before=wb.Sheets(4))
wb.Sheets(2).Move(Before=wb.Sheets(4))
但无论如何,这有点奇怪。如何修复它