2016-10-06 39 views
0

Excel에서 현재 '활성'셀 값을 읽고 해당 셀 값을 셀에 기록하는 간단한 함수를 파이썬에서 작성하려고합니다 (xlwings 사용). 활성 셀에서 다음 열에.파이썬과 xlwings를 사용하여 Excel에서 활성/선택된 셀 범위 찾기 범위

셀을 절대 참조 (예 : range (3, 2))를 사용하여 지정하면 모든 것이 정상입니다. 그러나 일단 함수가 실행되면 어떤 셀이라도 행과 열 값을 찾지 못합니다.

참조가 지정되었지만 활성 셀 범위가 사용자 선택에 따라 다를 수있는 곳이 아닌 많은 예제를 발견했습니다.

몇 가지 아이디어를 시도했습니다. 첫 번째 옵션은 v0.10.0 xlwings 문서에서 찾은 App.selection을 사용하려고하지만 사용할 수있는 범위 참조를 반환하지 않는 것입니다. - 검색 할 때 "잘못된 매개 변수"오류가 발생합니다. '셀 범위'에서 행 :

:

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 

엑셀의 활성/선택된 셀 범위를 xlwings와 함께 Python으로 전달할 수 있습니까? 누군가가 이것에 관해 약간의 빛을 비출 수 있다면 나는 그것을 정말로 고맙게 생각할 것이다.

감사합니다.

답변

1

통합 문서에서 app 개체를 가져와야합니다. 새 앱을 인스턴스화하려는 경우에만 xw.App을 직접 사용하십시오. 또한, selection Range 개체를 반환하므로이 작업을 수행 :

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

안녕 펠릭스 - 느린 응답 죄송합니다 - 일 어제는 조금 미쳤다! 내게 올바른 방법을 보여 주셔서 고마워요 - 내 기능을 업데이 트하고 이제는 셀 참조를 받고있어, 그것은 훌륭합니다. 다시 한 번 고마워, Richard. – QBG