xlwings::UDF自动化E

2024-05-19 09:48:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图构建一个xlwings UDF function,它计算指定场景的结果。代码使用Jupyter笔记本(即没有UDF)工作。但是,当我实现为UDF(使用Windows)时,函数只在输入函数的单元格中返回“automatisiereungsfehler”(automation error)。所以导入函数时没有问题,但当它实际计算时。。。在

函数的输入:

  • x: 包含要用方案值替换的值的单元格
  • y: 具有方案值的单元格
  • z: 有结果的单元格

这是我的代码:

import xlwings as xw

@xw.func
@xw.arg('x', xw.Range)
@xw.arg('y',xw.Range)
@xw.arg('z',xw.Range)
@xw.ret(expand = "vertical")
def calc_scenario(x,y, z):
    address = x.address
    formula = x.formula

    res = []
    for scenario in y.value:
        x.value = scenario
        res.append(z.value)

    x.formula = formula

    return res

当在excel中使用这段代码时,我可以毫无问题地导入函数。当使用它时,公式(=calc\u scenario(…))只返回“automatisiereungsfehler”。在

The same code works from Jupyter Notebook:

^{pr2}$

有什么想法吗?在

谢谢!在


Tags: 函数代码valuearg方案jupytercalcrange

热门问题