用于将值粘贴到.xls中的Python脚本

时间:2016-06-08 19:27:05

标签: python excel xlrd

我正在创建一个Python脚本,用于将从另一个文件中提取的值粘贴到Excel模板中。

Excel模板包含许多处理给定数据的宏。然后将此数据发送到剪贴板,然后关闭未保存的Excel文件。

我使用了xlwt和xlrd(它的#x .xls文件)的组合来尝试写入Excel文件,但似乎这些命令在没有明确打开的情况下访问该文件(Excel文件永远不会出现在屏幕上。)

我很好奇是否有人能指出我允许我明确打开Excel文件(例如subprocess.call())的某些工具的正确方向,将数据粘贴到某些单元格中,然后让用户执行其余部分。

感谢任何帮助或批评。

编辑: 我一直在尝试将pywin32用于我的目的。它不太合适。虽然它可以成功打开Excel文件并运行宏,但它无法将任何值传递到宏的文本框中。

这是我目前的代码:

import win32com.client as win32
import time

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'C:\Users\me\Desktop\file.xlsm')
excel.Visible = True

#if I run wb.Application.SendKeys(1) here, it places a 1 into a cell on the worksheet

wb.Application.Run('Set_Up_Sheet') #running the macro, which successfully launches
time.sleep(2)
wb.Application.SendKeys(1) #this seems to have no effect

如何将值发送到此宏的文本框?

0 个答案:

没有答案