학교에서 들어오는 발주서에는 정확한 품명과 제조사가 적혀있지 않고, 구매처가 없기 때문에 기존에 해왔던 자료들을 확인하는 수 밖에 없다. 품명을 보고 해당 상품을 찾고 거래처에 발주를 해야 한다.
기존의 데이터들을 구글 스프레드시트에 올렸고, 여기서 학교와 품명을 검색하면 발주 내역이 나오게 만들었다. 부식의 경우 발주 프로세스가 '친환경'품목과는 다르다.
학교에서 보내는 발주서는 친환경 발주와 동일한 포맷이다.
'식품명' 으로 찾기(검색)하고 전체선택(Ctrl + a) 한 후, 가장 윗쪽은 선택 해제한다.
'시트행 삭제' 를 선택한다.
중간의 빈 행을 삭제한다.
B5(식품명)에서 시작해서 달의 마지막 날짜 숫자(30 또는 31)까지 선택하고, 맨 아랫줄까지 선택하고 복사한다.
새로운 시트를 만들고 붙여넣기한다(값 붙여넣기).
'식품속성'을 수정하고, 22/29일 뒤의 빈 열을 삭제한다.
전체선택(Ctrl + a)하고, Ctrl + t 를 누른다. '머리글 포함'을 체크하고 확인을 누른다.
'데이터 - 테이블/범위에서' 를 선택한다.
새로운 창에서 '값 바꾸기' 메뉴로 'null' 을 '0' 으로 변경한다.
'식품명(단위), 규격, 식품속성' 열을 선택하고, '변환 - 다른 열 피벗해제' 를 선택한다.
'특성' 을 '날짜' 로 변경하고, '값'을 '수량'으로 수정한다.
'날짜' 열을 가장 왼쪽으로 이동한다. '닫기 및 다음으로 로드' 를 선택한다.
취합 엑셀 파일에 입력한다.
품목명을 검색해서 취급처(거래처)를 찾아야 한다. 여기 에서 검색한다. 거래처가 지정되면, 발주서를 보내야 한다.
| 창 번호 | 설명 |
| 1 | 학교 품목 데이터베이스 |
| 2 | 발주취합 엑셀파일 |
| 3 | 메모장 |
| 4 | Download 디렉토리(pdf 파일 저장되는 위치) |
import pyautogui
import time
time.sleep(5)
for i in range(2):
pyautogui.press('down')
time.sleep(1)
pyautogui.hotkey('ctrl','c')
time.sleep(1)
pyautogui.click(x=428, y=884, button='right', clicks=1) // 1. 3번 윈도우
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.press('backspace')
time.sleep(1)
pyautogui.hotkey('ctrl','a')
time.sleep(1)
pyautogui.hotkey('ctrl','c')
time.sleep(1)
pyautogui.press('backspace')
time.sleep(1)
pyautogui.click(x=345, y=336, button='right', clicks=1) // 2. 1번 윈도우
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.hotkey('alt','f')
time.sleep(1)
pyautogui.press('d')
time.sleep(1)
pyautogui.press('p')
time.sleep(3)
pyautogui.press('tab')
time.sleep(1)
pyautogui.press('enter')
time.sleep(1)
pyautogui.click(x=1477, y=499, button='right', clicks=1) // 3. 4번 윈도우
time.sleep(1)
pyautogui.press('pageup')
time.sleep(1)
pyautogui.press('down')
time.sleep(1)
pyautogui.press('f2')
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.press('enter')
time.sleep(1)
pyautogui.click(x=1460, y=31, button='right', clicks=1) // 4. 2번 윈도우
time.sleep(1)
| 번호 | 설명 |
| 1 | 3번 윈도우(메모장)의 첫 줄 위치 |
| 2 | '학교명' 값은 고정으로 하고, '품목명' 입력 셀의 위치 |
| 3 | 윈도우 창의 윗줄 위치, '수정한 날짜'로 정렬함 |
| 4 | 엑셀 윈도우의 윗줄 위치 |
import pyautogui
import time
time.sleep(3)
for i in range(2):
pyautogui.press('down')
time.sleep(1)
pyautogui.hotkey('ctrl','c')
time.sleep(1)
pyautogui.click(x=298, y=762, button='right', clicks=1)
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.press('backspace')
time.sleep(1)
pyautogui.click(x=1471, y=852, button='right', clicks=1)
time.sleep(0.5)
pyautogui.press('apps')
time.sleep(0.5)
pyautogui.press('up')
time.sleep(0.2)
pyautogui.press('up')
time.sleep(0.2)
pyautogui.press('right')
time.sleep(0.2)
pyautogui.press('up')
time.sleep(0.2)
pyautogui.press('up')
time.sleep(0.2)
pyautogui.press('enter')
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.press('enter')
time.sleep(1)
pyautogui.press('enter')
time.sleep(5)
pyautogui.hotkey('win','right')
time.sleep(1)
pyautogui.press('esc')
time.sleep(1)
pyautogui.click(x=298, y=762, button='right', clicks=1)
time.sleep(1)
pyautogui.hotkey('ctrl','a')
time.sleep(1)
pyautogui.hotkey('ctrl','c')
time.sleep(1)
pyautogui.press('backspace')
time.sleep(1)
pyautogui.click(x=337, y=334, button='right', clicks=1)
time.sleep(1)
pyautogui.press('esc')
time.sleep(1)
pyautogui.hotkey('ctrl','v')
time.sleep(1)
pyautogui.press('down')
time.sleep(0.2)
pyautogui.press('down')
time.sleep(0.2)
pyautogui.hotkey('ctrl','a')
time.sleep(1)
pyautogui.hotkey('ctrl','c')
time.sleep(1)
pyautogui.click(x=1390, y=18, button='right', clicks=1)
time.sleep(1)
pyautogui.hotkey('ctrl', 'alt', 'v')
time.sleep(1)
pyautogui.press('down')
time.sleep(0.2)
pyautogui.press('enter')
time.sleep(0.2)
pyautogui.hotkey('ctrl','s')
time.sleep(1)
pyautogui.hotkey('alt','f4')
time.sleep(1)
유의할 점은 1,2,3,4 번 윈도우가 화면전체의 절반을 넘지 않아야 한다는 것이다. 넘게되면, 파일 실행 시에 만들어지는 5번 윈도우의 배치를 할 수 없다.