是否有与 xlwings 的 PyXll @xl_func(macro=True)
等效的装饰器?
这将允许与 Excel 中的整个工作簿进行交互吗?
虚拟示例:单元格“E5”中的 =test()
返回错误:
@xw.func
def test():
wb = xw.Book.caller()
wb.sheets[0].range('A1').formula = wb.name
return 'done'
Unexpected Python Error: TypeError: Objects for SAFEARRAYS must be sequences (of sequences), or a buffer object.
为了澄清:我希望能够编写 Excel 函数,而不需要数组公式、按钮或宏。
是的,xw.sub
,来自 docs :
import xlwings as xw
@xw.sub
def my_macro():
"""Writes the name of the Workbook into Range("A1") of Sheet 1"""
wb = xw.Book.caller()
wb.sheets[0].range('A1').value = wb.name
我是一名优秀的程序员,十分优秀!