python如何读取excel宏_如何在python中触发excel中的vba宏

import xlwings as xw

import time

from utils import ConvertToFloatList, load_data

import pythoncom

import win32gui

import win32api

import win32con

def all_in_one(x_data, y_data):pythoncom.CoInitialize()

app = xw.App(visible=True, add_book=False)

app.display_alerts = False

app.screen_updating = False

file_path = r'G:\BOE\数据采集\BMTP\55\55_DEMO.xlsm'

wb = app.books.open(file_path)

sheet_demo = wb.sheets['demo']

sheet_demo.range('L5').options(transpose=True).value = x_data

sheet_demo.range('N5').options(transpose=True).value = y_data

offset = sheet_demo.range('X5:Z76').options(transpose=True).value

offset_x = list(set(offset[0]))

offset_x.sort(key=offset[0].index)

offset_x = ConvertToFloatList(offset_x)

offset_y = list(set(offset[1]))

offset_y.sort(key=offset[1].index)

offset_y = ConvertToFloatList(offset_y)

offset_t = list(set(offset[2]))

offset_t.sort(key=offset[2].index)

offset_t = ConvertToFloatList(offset_t)

print('X:', offset_x)

print('Y:', offset_y)

print('T:', offset_t)

sheet_write = wb.sheets['write']

sheet_write.range('D3').options(transpose=True).value = offset_x

sheet_write.range('F3').options(transpose=True).value = offset_y

sheet_write.range('H3').options(transpose=True).value = offset_t

macro = wb.macro("DeviceWrite")

macro()

wb.save()

wb.close()

app.quit()

记录打开表单开始时间

start_open_time = time.time()

offset_data = all_in_one(x_set, y_set)

end_run = time.time()

print('共计耗时:' + str(end_run - start_open_time))

if name == "__main__":x_data, y_data = load_data('G:/BOE/数据采集/BMTP/55/5fat0208001740_f_20200302_191153 - 副本.csv')

all_in_one(x_data, y_data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值