Использование python для вызова макроса Excel - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь написать код на Python, который будет запускать макрос в книге Excel. Я знаю имя файла и имя макроса vba. Мне не нужно читать какую-либо информацию в файл python, мне просто нужно выполнить эту функцию.

В конечном итоге я хочу периодически запускать этот код Python, и я хочу, чтобы он вызывал одну и ту же функцию VBA несколько раз в день.

import openpyxl


excel_document = openpyxl.load_workbook('python test.xlsm')
print type(excel_document)

1 Ответ

0 голосов
/ 26 июня 2019

Я нашел этот код в Stackoverflow. Может быть, это поможет вам.

Ресурс: Запуск макроса Excel через Python?

import win32com.client

if os.path.exists("excelsheet.xlsm"):
    xl = win32com.client.Dispatch("Excel.Application")
    wb = xl.Workbooks.Open(os.path.abspath("C:\Users\{Username}\Desktop\test.xlsm"), ReadOnly=0)
    wb.Sheets('Sheet1').Select()
    xl.Application.Run("test.xlsm!Module1.macroname")
##    xl.Application.Save() # if you want to save then uncomment this line and change delete the ", ReadOnly=1" part from the open function.
    xl.Application.Quit() # Comment this out if your excel script closes
    del xl```

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...