그럴 수도 있지

발전의 의지/파이썬

Ramp analysis plot 을 한글로 옮겨보기

OnlyMyStuff 2022. 5. 19. 19:44

한글 파일을 만지는 모듈을 없을 것 같아서

 

그냥 pyautogui로 했다

 

한글파일 내에서 매크로를 써도 좋은데

 

회사 보안이 걸려 사용이 불가하다

 

그래서 그냥 한땀한땀 지정해서 오토메이션 했다

 

print('한글파일 작성')

os.chdir('C:\\Users\\82103\\Desktop\\python\\ramp analysis\\img_control')

def copy_plot():
    for file_name in file_name_list:
        from_ = 'C:\\Users\\82103\\Desktop\\python\\ramp analysis\\plots\\'+file_name
        to_ = 'C:\\Users\\82103\\Documents\\'+file_name
        shutil.copyfile(from_,to_)
        del from_, to_
        print(file_name,'플롯 copy 완료')

def go_home():
    pag.hotkey('winleft','d')
    sleep(1)
    print('go_home')

def my_write(text):
    pyperclip.copy(text)
    sleep(1)
    pag.hotkey('ctrl','v')
    sleep(1)
    print('text')

def open_hangul():
    b = pag.locateOnScreen('img_hangul.png')
    #print(b)
    loc_hangul = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.doubleClick(loc_hangul[0],loc_hangul[1])
    sleep(1)
    print('open_hangul')
    
def wait_open_hangul():
    while True:
        sleep(1)
        b = pag.locateOnScreen('img_hangul_on.png')
        if b!=None:
            break
        else:
            print('한글 열리기 기다리는중')
    sleep(1)
    print('wait_open_hangul')
    
def save_file():
    while True:
        sleep(1)
        b = pag.locateOnScreen('img_hangul_save.png')
        if b!=None:
            break
        else:
            print('save 열리기 기다리는중')
    my_write('그래프 한글파일')
    pag.press('enter')
    sleep(1)
    print('save_file')
    
    
def close_hangul():
    b = pag.locateOnScreen('img_hangul_close.png')
    loc_hangul = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.doubleClick(loc_hangul[0],loc_hangul[1])
    sleep(1)
    print('close_hangul')
  
def set_text_form(font='휴먼고딕',font_size=30):
    while True:
        sleep(1)
        b = pag.locateOnScreen('img_hangul_first.png')
        if b!=None:
            break
        else:
            pass
    loc_font = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.click(loc_font[0],loc_font[1])
    sleep(1)

    
    b = pag.locateOnScreen('img_hangul_font.png')
    loc_font = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.click(loc_font[0],loc_font[1])
    my_write(font)
    sleep(1)
    pag.press('enter')
    sleep(1)
    
    b = pag.locateOnScreen('img_hangul_font_size.png')
    loc_font_size = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.click(loc_font_size[0],loc_font_size[1])
    my_write(str(font_size))
    sleep(1)
    pag.press('enter')
    sleep(1)    
        
    b = pag.locateOnScreen('img_hangul_bold.png')
    loc_center = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.click(loc_center[0],loc_center[1])
    sleep(1)
    
    b = pag.locateOnScreen('img_hangul_center.png')
    loc_center = [b[0]+b[2]/2,b[1]+b[3]/2]
    pag.click(loc_center[0],loc_center[1])
    sleep(1)
    
    print('set_text_form')


def write_title_put_plot(i,file_name):
    
    temp_text = str(i+1) + "번째 시나리오 그래프"
    my_write(temp_text)
    sleep(2)
    pag.press('enter')
    sleep(2)
    
    pag.hotkey('ctrl','n','i')
    sleep(2)
    my_write(file_name)
    sleep(2)
    pag.press('enter')
    sleep(2)
    
    print(file_name)
    
copy_plot()    
    
go_home()

open_hangul()

wait_open_hangul()

set_text_form()


for i, file_name in enumerate(file_name_list):
    write_title_put_plot(i, file_name)
    if i!=6:
        pag.hotkey('ctrl','enter')
        sleep(2)
    else:
        pag.hotkey('alt','v')

save_file()

close_hangul()