python的代码工作,除了它运行后我仍然从excel得到一个框,询问“想要将更改保存到工作簿”我的代码中似乎缺少的是添加一些将保存工作簿的内容最后。我在工作簿中使用RTD函数,这可能是弹出窗口的原因。
这是我使用的python代码。
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()
答案 0 :(得分:0)
根据这个Link 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()
是52.所以,保存只是给出参数FileFormat = 52,如下面的代码所示
function openCateg(id){
window.location.assign('categoriasSentenciasAJAX.php?id='+id);
}
注意:使用saveAs时会出现弹出窗口。此SO question和This So Post回答了此问题