使用win32com调用vba脚本程序如下:
import win32com.client
filepathb = r"C:\Users\GZTSALFIEL\Desktop\excel问题文件\testdoc\PI High Level Checking_v1.3.2.xlsm"
xls = win32com.client.Dispatch("Excel.Application")
xls.Workbooks.Open(filepathb)
xls.Application.Run("duplicate1")
xls.Application.Quit()
但是需要持续写入数据的时候使用win32com有不是特别方便。
使用xlwings库调用vba脚本
而且在一个持续写入excel文本中,偏向会去使用xlwings库调用相关的库
而且xlwings于pywin32库的结合也是较好的。调用不同层级的api如sheet、workbook、application上的。
问题时,在利用api调用vba脚本的时候需要激活在宏所在的工作簿。
# PI High Level Checking_v1.3.2.xlsb
import xlwings as xw
import traceback
filepathb = r"C:\Users\GZTSALFIEL\Desktop\excel问题文件\testdoc\PI High Level Checking_v1.3.2.xlsm"
sheet1data = r"C:\Users\GZTSALFIEL\Desktop\excel问题文件\testdoc\PI_data.xlsx"
T_list = r"C:\Users\GZTSALFIEL\Des