커서 위치의 셀 정보는 얻어 올 수 있지만…
블록 처음의 셀 정보를 얻을 수 있는 방법이 없어서
데이터가 있는 스캔 맨 처음값의 주소를 셀 블록 시작 주소를 알아오는 방식으로 땜빵을 하고 있습니다.
셀 블록의 시작 주소를 알 수 있는 방법이 있을까요?
def 셀정보(self):
if self.대상.CellShape:
정상=1
블록마지막 = self.대상.KeyIndicator()[-1][1:].split(")")[0] #마지막셀 주소
마지막위치 = self.대상.GetPosBySet() #마지막셀 절대위치
self.대상.InitScan(1, 0xff) #첫내용 이동
블록스캔 = self.대상.GetText()
self.대상.MovePos(201)
처음위치 = self.대상.GetPosBySet()#첫셀 절대위치
self.대상.SetPosBySet(처음위치)
self.대상.ReleaseScan()
블록처음 = self.대상.KeyIndicator()[-1][1:].split(")")[0] #첫셀 주소
블록처음열 = re.sub(r'[^A-z]', '', 블록처음)
블록처음행 = re.sub(r'[^0-9]', '', 블록처음)
블록마지막열=re.sub(r'[^A-z]', '', 블록마지막)
블록마지막행=re.sub(r'[^0-9]', '', 블록마지막)
열=ord(블록마지막열)-ord(블록처음열)+1
행=int(블록마지막행)-int(블록처음행)+1
한줄=마지막위치.Item("List")-처음위치.Item("List")-(열-1)
소수체크=0
if not 행==1:
한줄=한줄/(int(행)-1)
소수체크=한줄-int(한줄)
if 열==1 and 행==1:
정상=0
win32api.MessageBox(0, "드래그할때 오른쪽아래(↘) 방향으로 해야 정상작동해요!, 만약 셀1개면 다른탭을 이용하세요!", "범피스가 하고싶은 말", 48)
elif 소수체크>0 :
win32api.MessageBox(0, "셀병합이 하나도 없어야 정상작동합니다!", "범피스가 하고싶은 말", 48)
정상=0
elif 행>=2 :
self.대상.SetPosBySet(self.셀위치(처음위치.Item("List")+한줄))
if not 블록처음열==re.sub(r'[^A-z]', '', self.대상.KeyIndicator()[-1][1:].split(")")[0]):
win32api.MessageBox(0, "셀병합이 하나도 없어야 정상작동합니다!", "범피스가 하고싶은 말", 48)
정상=0
if int(블록처음행)>=2 :
self.대상.SetPosBySet(self.셀위치(처음위치.Item("List")-한줄))
if not 블록처음열==re.sub(r'[^A-z]', '', self.대상.KeyIndicator()[-1][1:].split(")")[0]):
win32api.MessageBox(0, "셀병합이 하나도 없어야 정상작동합니다!", "범피스가 하고싶은 말", 48)
정상=0
return 정상,처음위치.Item("List"),행,열,한줄,블록처음행,블록처음열,블록마지막행,블록마지막열