2015-06-19 2 views
0

Я пишу скрипт Python для автоматизации процесса, который использует макросы Excel для форматирования файлов для ввода в другую программу позже. Я немного новичок в Python и совершенно новый для VBA, но я думаю, что у меня есть шаги.Python: скрыть Open File Dialog при запуске макроса Excel

До сих пор у меня есть это, чтобы запустить сам макрос (с помощью других SO сообщений):

xl = win32com.client.DispatchEx('Excel.Application') 
xlpath = os.path.expanduser(xlfile) 
wb = xl.Workbooks.Open(Filename=xlpath, ReadOnly=1) 
xl.Run("my_macro") 

На данный момент пробеги макро и вызывает Application.GetOpenFilename(), чтобы открыть диалоговое окно для пользователя, чтобы выбрать файл для форматирования, который будет отличаться для каждого макроса.

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

Есть ли способ сделать это, изменив макрос? Если нет, мне нужно будет переписать макрос в Python с одним из модулей для управления Excel?

ответ

0

Похоже, я могу позвонить xl.Run("my_macro") с параметрами, поэтому мне просто нужно выяснить, как макрос читает эти параметры, поэтому, пройдя по ним, я могу просто открыть файлы без диалога.

xl.Run("my_macro", path1, path2) 

https://stackoverflow.com/a/16740500/3788802

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