首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在使用Python运行宏后保存Excel工作簿?

如何在使用Python运行宏后保存Excel工作簿?
EN

Stack Overflow用户
提问于 2018-05-31 19:06:55
回答 1查看 778关注 0票数 3

python的代码可以工作,只是一旦它运行了,我仍然会从excel中得到一个框,询问“想要保存您对工作簿的更改”,而我的代码中似乎缺少的是添加一些将在最后保存工作簿的内容。我在工作簿中使用RTD函数,这可能是弹出窗口的原因。

这是我使用的python代码。

代码语言:javascript
复制
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:\Magic Samsung\Watch Samsung\Workbook.xlsm')
            wb = xlApp.Workbooks.Open(Filename=xlsPath)
            xlApp.Run('ArchiveMaster')
            wb.Save()
            xlApp.Quit()
            print("Macro ran successfully!")
        except:
            print("Error found while running the excel macro!")
            xlApp.Quit()
            if __name__ == "__main__":
            unittest.main()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 19:28:04

根据Link的说法,xlOpenXMLWorkbookMacroEnabled是52岁。因此,在保存时,只给出参数FileFormat = 52,如下面的代码所示

代码语言:javascript
复制
class ExcelMacro(unittest.TestCase):
    def test_excel_macro(self):
        try:
            xlApp = win32com.client.DispatchEx('Excel.Application')
            xlapp.DisplayAlerts=False
            xlsPath = os.path.expanduser('C:\Magic Samsung\Watch Samsung\Workbook.xlsm')
            wb = xlApp.Workbooks.Open(Filename=xlsPath)
            xlApp.Run('ArchiveMaster')
            wb.SaveAs(Filename=path_here, FileFormat=52)
            xlApp.Quit()
            print("Macro ran successfully!")
        except:
            print("Error found while running the excel macro!")
            xlApp.Quit()
            if __name__ == "__main__":
            unittest.main()

注意:使用另存为时会出现一个弹出窗口。这个SO questionThis So Post的答案就是这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50622888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档