gpt4 book ai didi

python - 使用 Python 和 xlwings 在 Excel 中查找事件/选定单元格的范围

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:12 27 4
gpt4 key购买 nike

我正在尝试用 Python(使用 xlwings)编写一个简单的函数,该函数读取 Excel 中当前的“事件”单元格值,然后将该单元格值从事件单元格写入下一列中的单元格。

如果我使用绝对引用指定单元格,例如 range(3, 2),那么一切正常。但是,一旦函数运行,我似乎无法找到所选单元格的行和列值。

我发现了很多示例,其中指定了引用,但没有指定事件单元格范围可以根据用户选择而变化。

我尝试了一些想法。第一个选项是尝试使用我在 v0.10.0 xlwings 文档中找到的 App.selection,但这似乎没有返回可以使用的范围引用 - 在尝试检索时出现错误“无效参数”来自“cellRange”的行:

def refTest():

import xlwings as xw

wb = xw.Book.caller()

cellRange = xw.App.selection

rowNum = wb.sheets[0].range(cellRange).row
colNum = wb.sheets[0].range(cellRange).column

url = wb.sheets[0].range(rowNum, colNum).value

wb.sheets[0].range(rowNum, colNum + 1).value = url

第二个想法是尝试直接从单元格选择中读取行和列,但这给了我错误“属性对象没有属性'row'”:

def refTest():

import xlwings as xw

wb = xw.Book.caller()

rowNum = xw.App.selection.row
colNum = xw.App.selection.column

url = wb.sheets[0].range(rowNum, colNum).value

wb.sheets[0].range(rowNum, colNum + 1).value = url

是否可以使用 xlwings 将事件/选定单元格的范围从 Excel 传递到 Python?如果有人能够阐明这一点,那么我将非常感激。

谢谢!

最佳答案

您必须从工作簿中获取应用程序对象。如果您想实例化一个新应用程序,则只能直接使用xw.App。另外,selection 返回一个 Range 对象,因此请执行以下操作:

cellRange = wb.app.selection
rowNum = cellRange.row
colNum = cellRange.column

关于python - 使用 Python 和 xlwings 在 Excel 中查找事件/选定单元格的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39901092/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com