Как вы можете выбрать лист Excel в win32com?

#python #excel #select #win32com

Вопрос:

Я пытаюсь написать сценарий win32com для выбора листа по номеру, но нахожу, что выбор листа не работает.

  1. Я пробовал написать такой сценарий:
     excel = Dispatch("Excel.Application")
    excel.Visible = 1
    source = excel.Workbooks.Open(filepath_generic_win32)
    source.Sheets(2).Select      
     

но обнаружьте, что лист 1 все еще выбран.

  1. Я также пробовал метод активной таблицы, например:
     xl.Worksheets("Sheet1").Activate()
     

но безрезультатно.

Может кто-нибудь, пожалуйста, объяснить мне, как я могу выбрать лист в win32com?

Спасибо

Ответ №1:

Я работаю над проектом, который входит в Excel, отображает лист 1, выполняет задачу, затем переходит на лист 2, выполняет задачу, переходит на лист 3 и так далее. В данный момент у меня виден excel, поэтому я могу видеть, как он переключает листы и выполняет задачу.

Мой код, относящийся к переключению листов, таков:

 excel = win32.gencache.EnsureDispatch("Excel.Application")
wb = excel.Workbooks.Open("Workbook_name.xls")
wb.Worksheets("Sheet_name").Activate()
 

Надеюсь, это поможет вам, это, безусловно, работает для меня.