Excelで現在のアクティブなセルの値を読み取り、そのセルの値をセルに書き込む単純な関数をPythonで(xlwingsを使って)アクティブセルから次の列に移動します。Pythonとxlwingsを使用してExcelでアクティブ/選択されたセルの範囲を調べる
絶対参照を使用してセルを指定すると、range(3、2)のように指定すると、すべてがOKです。しかし、関数を実行すると、選択されたセルの行と列の値を見つけることはできません。
リファレンスが指定されているが、アクティブなセル範囲がユーザーの選択によって異なる場合が多い例が多数見つかりました。
私はいくつかのアイデアを試しました。最初のオプションは、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
二アイデアは、セル選択から直接の行と列を読み取ろうとしたが、これは私にエラーを与える:
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
アクティブ/選択したセルの範囲をExcelからPythonにxlwingsで渡すことはできますか?誰かがこれにいくつかの光を当てることができるなら、私は本当にそれを感謝します。
ありがとうございます!
こんにちはフェリックス - 遅い返事申し訳ありません - 昨日の仕事は少し怒っていました!正しい方法を教えてくれてありがとうございます。私は自分の機能を更新しました。今は鮮明なセル参照を取得しています。もう一度ありがとう、リチャード。 – QBG