有没有一种方法可以使用xlwings API命名excel中的范围?尝试使用引用excel定义范围的字符串公式

2024-05-14 06:19:03 发布

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

我想用xlwing的sheetname.range文件(“某个对象定义的范围”).formula=“=Some excel formula”函数,但我不确定如何将对象定义的范围引用为上述公式中的字符串。你知道吗

我可以定义对象范围如下:

X = sht0.range('C10').expand('down').value

对于此范围内的所有值,我希望使用excel公式执行计算,并希望使用以下函数。你知道吗

sht0.range('F1').formula = "=SUM(X)"

这是一个简单的Sum函数,如果我在python中使用Sum(X)函数,并且在不创建字符串的情况下使用上面公式中的结果,它就可以工作,但是如果我想使用任何其他内置的excel函数呢?你知道吗

一个潜在的解决方法是使用xw.api公司使用pywin32语法在excel中创建一个“命名范围”的语法,但是我似乎不知道语法转换是什么。你知道吗

例如,在VBA中:

Range("D7").Select
    ActiveWorkbook.Names.Add Name:="SomeNameforaRange", RefersToR1C1:="=Sheet1!R7C4"

我在xlwings for python中尝试了以下内容,并尝试了其他一些语法方面的尝试:

sht0.range('C10').expand('down').api.Names = "SomeNameforaRange"

……但这行不通。它只会冻结我的笔记本或给我一个错误。你知道吗

很抱歉,如果这个问题是非常基本的,我是一个有点新的Python和xlwings,但我感谢任何帮助你可能会给。你知道吗


Tags: 对象函数字符串api定义语法rangeexcel