Excel Win32com Программирование с Python. Проходные параметры для функционирования

StackOverflow https://stackoverflow.com/questions/5305297

  •  24-10-2019
  •  | 
  •  

Вопрос

Я подозреваю, что на этот вопрос есть легкий ответ, но я нигде не могу его найти! Я пишу функцию, чтобы построить много данных в Excel, и я контролирую график с помощью Python. Я сгенерировал все диаграммы, и каждая диаграмма является его собственным листом, но они не в порядке. Код VBA для этого:

Sheets("Chart1").Move After:=Sheets(3)

Это займет «chart1» и переместит его после 3 -го листа. Как мне сделать это в Python? Я знаю, что код - это нечто вроде:

xlChart.Move(Before,After)

Как мне сообщить Python до и после параметров? Я думаю, что главное в том, что я не понял, как пройти параметры в программировании Win32com.

Заранее благодарю за любую помощь!

Это было полезно?

Решение

Вот очень простой пример:

from win32com import client

excel=client.Dispatch("Excel.Application")
excel.Visible=True
book=excel.Workbooks.Open("c:/desktop/test.xlsx", False, True)
sheet=book.Worksheets(1)
chart=book.Charts.Add()
chart.SetSourceData(sheet.Range("$A:$B"))

chart.Move(Before=book.Worksheets("Sheet2"))
chart.Move(book.Worksheets("Sheet2"))#equivalent to previous line
chart.Move(book.Worksheets("Sheet2"), None)#also equivalent

chart.Move(After=book.Worksheets("Sheet2"))
chart.Move(None,book.Worksheets("Sheet2"))#equivalent to previous line

Я пытался показать различные варианты работы с дополнительными параметрами, которые являются важными проблемами с программированием Excel Com. Вы можете использовать прохождение позиционного параметра и опустить параметры с конца. Или вы можете пройти None который эквивалентен. Наконец, вы можете использовать названные параметры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top