jkluio668
6/7/2018 - 10:01 AM

py-运行excel中的宏(未测试)

运行excel中的宏

win32com.client模块使得在python中同样可以调用executeexcel4macro函数来达到运行excel宏。

```python
import win32com.client

filename = r'e:\excel.xls'
xlapp = win32com.client.dispatch('excel.application')
xlapp.visible = 1 # 此行设置打开的excel表格为可见状态;忽略则excel表格默认不可见
xlbook = xlapp.workbooks.open(filename)

content = r'excellent!' # 需要写入excel单元格的内容(字符串类型)
rows = 60000 # 需要写入的行数(整数类型)

# executeexcel4macro函数的参数必须为字符串类型
# 在该字符串参数中,依次包含了“宏函数所在的excel表格名称”+“宏函数的名称”+“宏函数的参数”
# 在宏函数的参数中,字符串参数content需要在两边分别再加上一个",整型参数rows只需通过str转换为字符串即可
strpara = xlbook.name + '!macro1("' + content + '", ' + str(rows) + ')'
status = xlapp.executeexcel4macro(strpara)
print status

xlbook.close(savechanges=true) # 关闭excel,并保存更改
```
      上述代码可以成功地实现在python中运行excel表格“e:\excel.xls”中的“macro1”宏的功能