是否有与带有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'
意外的Python错误:TypeError:SAFEARRAYS的对象必须为
序列(序列)或一个缓冲区对象。
为了澄清起见:我希望能够编写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
关于python - 是否有一个与xlwings的PyXll`@xl_func(macro = True)`等效的装饰器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38845707/