• python xlwings 调用vba以及使用windowapi调用vba脚本


    python xlwings 调用vba以及使用windowapi调用vba脚本

    使用win32com调用vba脚本程序如下:

    import win32com.client
    filepathb = r"C:\Users\user\Desktop\Excel VBA快速工具\拆分本工作簿\拆分本工作簿.xlsm"
    xls = win32com.client.Dispatch("Excel.Application")
    xls.Workbooks.Open(filepathb)
    xls.Application.Run("拆分本工作簿")
    xls.Application.Quit()
     
    但是需要持续写入数据的时候使用win32com有不是特别方便。
    使用xlwings库调用vba脚本
     
    而且在一个持续写入excel文本中,偏向会去使用xlwings库调用相关的库
     
    而且xlwings于pywin32库的结合也是较好的。调用不同层级的api如sheet、workbook、application上的。
     
    问题时,在利用api调用vba脚本的时候需要激活在宏所在的工作簿。
    import xlwings as xw
     
    filepath=r"C:\Users\user\Desktop\Excel VBA快速工具\拆分本工作簿\拆分本工作簿.xlsm"
    app = xw.App(visible=True, add_book=False)
    wb = app.books.open(filepath)
    wb.activate() #工作簿需要被激活后才能调用vba脚本。
    wb.api.Application.Run("拆分本工作簿")
    wb.save()
    wb.close()
    app.quit()
    app.kill()
  • 相关阅读:
    java NIO的基本用法
    BufferedReader源码分析
    FileInputStream读中文乱码问题
    Java使用IO流对同一个文件进行读写操作
    php表格--大数据处理
    tp5--模型关联
    tp5 -- join注意事项
    表单外部提交
    网站防止sql注入
    微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]
  • 原文地址:https://www.cnblogs.com/wuzx/p/16374135.html
Copyright © 2020-2023  润新知