2016-03-14 5 views
0

Я пытаюсь запустить макрос личной книги из Python с аргументами 0. До сих пор это мой код:Как запустить макрос личной книги с помощью pywin32 в Python?

xl = win32com.client.Dispatch("Excel.application") 
xl.Visible = 1 

if os.path.isfile('delete_this_file.xlsx'): 
    workbook = xl.Workbooks.Open('delete_this_file.xlsx') 
else: 
    workbook = xl.Workbooks.Add() 
    workbook.SaveAs(os.getcwd() + '\\delete_this_file.xlsx') 

xl.Workbooks.Add("C:\\Users\\myusername\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL.XLSB") 
xl.Application.Run('LoopThruFiles') 
xl.DisplayAlerts = 0 
xl.Application.Quit() 
del xl 

Но Python пинает назад ошибку ОС Windows: «Не удается запустить макрос„LoopThruFiles“Макрос не может быть доступен в этой книге или все макросы могут быть отключены.»

Однако я включил флажок «Доверять доступ к объектной модели проекта VBA» в Центре доверия.

У кого-нибудь есть опыт?

ответ

0
xl.Application.Run('PERSONAL.XLSB!LoopThruFiles') 

См: http://www.rondebruin.nl/win/s9/win001.htm

+0

Просто попробовал - новая ошибка говорит: «Не удается запустить макрос«C: \\ Users \\ MyUserName \\ AppData \\ Roaming \\ Microsoft \\ Excel \\ XLSTART \\ PERSONAL.XLSB! LoopThruFiles. Макрос может быть недоступен в этой книге или все макросы могут быть отключены. " – TTBB

+0

Включены ли макросы? Если вы откроете эту книгу вручную, вы можете запустить макрос? Я не думаю, что это связано с настройкой «Доверять доступ к объектной модели проекта VBA», но общая настройка безопасности макросов –

Смежные вопросы