Как запустить Macro VBA через Python? - PullRequest
0 голосов
/ 08 апреля 2020

Я создаю VBA-макрос-скрипт для редактирования рабочей книги Excel, отправляю его в тело сообщения электронной почты и отправляю электронную почту. Он работает хорошо, когда я запускаю обычный файл Excel. Теперь я создаю простой python скрипт для обнаружения CC и Имя субъекта и запустите этот макрос VBA для рабочего процесса автоматизации с правилами Outlook. Примерно так:

import os, os.path
import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetLast()
cc = message.CC
subject = message.Subject
to = message.To

file = cc+"_"+subject
if os.path.exists("R:/ASD_Accounting system development/Project/Invoice form/Invoice_generate/"+file+"/"+file+".xlsm"):
    xl=win32com.client.Dispatch("Excel.Application")
    xl.Workbooks.Open(os.path.abspath(file+".xlsm"))
    xl.Application.Run(file+".xlsm!Module6.manager")
    xl.Application.Quit()
    del xl

Не работает и показывает ошибку. Как это:

enter image description here

Это мое имя электронной почты.

enter image description here

Это моя папка (путь): Вот так

enter image description here

Но когда я изменяю имя файла Excel с исправлением. Это может хорошо работать. Вот так:

enter image description here

Скажите, пожалуйста, как решить эту проблему.

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