python - 是否有一个相当于 PyXll `@xl_func(macro=True)` 和 xlwings 的装饰器?

标签 python xlwings

是否有与 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

关于python - 是否有一个相当于 PyXll `@xl_func(macro=True)` 和 xlwings 的装饰器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38845707/

相关文章:

python - 如何使用 xlwings 调整宽度列

Python/xlwings 设置excel表格样式为 "none"

python - 如何转换每列的每一行中包含列表的数据框

python - 将 Scipy 嵌入到 C 中

python - python 版本 2.6 和 3.1 中出现奇怪的语法错误

python - 使用 xlwings 编写 VBA 宏来调用 python 脚本

python - Pandas:复制结构并设置所有元素

python - 在 Django 模型中使用请求

Python 3.6模块appscript安装错误

python - 通过 APScheduler 作为计划任务运行时,XLWings 无法连接到 Excel 工作簿