Я хотел бы использовать Python для запуска макроса, содержащегося в MacroBook.xlsm, на листе в Data.csv.Python - запустить макрос Excel
Обычно в excel у меня есть оба файла, открытые и сдвигающие фокус на файл Data.csv и запуск макроса из MacroBook. Сценарий python загружает файл Data.csv каждый день, поэтому я не могу поместить макрос в этот файл.
Вот мой код:
import win32com.client
import os
import xl
excel = win32com.client.Dispatch("Excel.Application")
macrowb = xl.Workbook('C:\MacroBook.xlsm')
wb1 = xl.Workbook('C:\Database.csv')
excel.Run("FilterLoans")
Я получаю сообщение об ошибке, "pywintypes.com_error: (-2147352567" Возникло исключение., (0, u'Microsoft Excel», и" Не удается запустить макрос 'FilterLoans'. Макрос может быть недоступен в этой книге или все макросы могут быть отключены. ", U'xlmain11.chm ', 0, -2146827284), None)"
Ошибка указывает, что FilterLoans недоступен в файле Database.csv ... как его импортировать?
Никогда не использовал Python, но только предположение: 'macrowb .Run ("FilterLoans") '? –
То же самое здесь: P Я не использовал python, поэтому попробуйте этот 'excel.Run (« MacroBook! FilterLoans »)' –
Код Siddharth работает, спасибо! @iDevlop - это не работает, потому что он пытается запустить код на macrowb. – user1137778