Запуск макроса в PERSONAL.XLSB с использованием python - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь запустить макрос в Personal.XLSB, используя python.

Когда я сам запускаю макрос PERSONAL.XLSB!PIVOTS из книги Excel, он работает.Кроме того, если я скопирую и вставлю код VBA в «This Workbook» и запусту xlApp.Run('Pivots'), он будет работать.

Однако, когда я использую xlApp.Run('C:\\Users\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL.XLSB!Pivots'), он не будет работать.Мне нужно, чтобы он работал в «PERSONAL.XLSB», так как я буду использовать один и тот же макрос в нескольких файлах.

from __future__ import print_function
import unittest
import os.path
import win32com.client

class ExcelMacro(unittest.TestCase):
    def test_excel_macro(self):
        try:
            xlApp = win32com.client.DispatchEx('Excel.Application')
            xlsPath = os.path.expanduser('C:\\Users\\colm_mcsweeney\\Documents\\Attachments\\Dash.09.05.19.xlsm')
            wb = xlApp.Workbooks.Open(Filename=xlsPath)
            xlApp.Visible = True
            xlApp.Run("C:\\Users\\AppData\\Roaming\\Microsoft\\Excel\\XLSTART\\PERSONAL.XLSB!Pivots")
            wb.Save()
            xlApp.Quit()
            print("Macro ran successfully!")
        except:
            print("Error found while running the excel macro!")
            xlApp.Quit()
if __name__ == "__main__":
    unittest.main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...