4.8 KB · 수정 2026-09-16 14:33
목차

2026-09-16 세션 — 학동매장 원부자재발주서 「피앤알」 탭 작성 · 인쇄 · 팩스 발송 — 기록: [코디]

지시

[페페] 「원부자재발주서 : 학동매장 / 발주일 오늘 긴급 / 피앤알탭으로 발주서 작성 / 팩스까지 발송, 출력물 인쇄. 발주서 블록선택해서 선택영역 인쇄로 진행. / 미성형보드 MDF · 25T 9자 3매 · 22T 9자 5매 · 18T 10자 2매 / 오엠씨 입고」

대상 = NAS 2026현장\원부자재발주서\09월\한샘 학동매장 원부자재발주서.xlsx(8탭 표준양식).

결정

산출

🔴 이 세션에서 확립된 함정

  1. Bash 도구(Session 0)에서 Excel COM 은 못 쓴다. Version/Build 는 읽히고 Visible 도 되는데 그 다음부터 전부 -2147418111 (RPC_E_CALL_REJECTED) 피호출자가 호출을 거부했습니다. 재시도로 안 풀린다 = 코드 버그가 아니다. ⛒schtasks /create … /it + 절대경로 pythonw.exe + 파일 로그. (pythonw.exe 를 bare 로 적으면 예약작업이 조용히 아무것도 안 한다 — 로그조차 안 생긴다.)
  2. 엑셀 날짜는 시리얼 정수로 넣는다. datetime.date 는 COM 이 거부(TypeError), datetime.datetime 은 VT_DATE 변환에서 KST+9 때문에 하루 밀린다(9.16 → 09 .15(화) 로 찍혔다). ⛒(d - date(1899,12,30)).days.
  3. NAS UNC 를 Excel 로 직접 열지 마라 — 보호된 보기/링크갱신 프롬프트로 COM 이 막힌다. 로컬 사본에서 작업 → nasget.py put. 좀비 EXCEL.EXE 가 NAS 파일을 물고 있으면 get 이 NtStatus 0xc0000043.
  4. uiautomation 이 SINDOH 팩스 팝업을 못 본다. GetRootControl().GetChildren() 에 안 나오고 스캔 루프째로 멈춘다. ⛒win32gui.EnumWindows 로는 즉시 보인다 — GUI 조사 1순위는 win32gui.

📠 SINDOH D450/CM FAX 드라이버 팝업 조종법 (26.9.16 실측, 재사용용)

ws.PrintOut(1,1,1,False,'SINDOH D450/CM Series FAX') 를 걸면 PrintOut 이 블록되고 별도 프로세스에 #32770 「팩스 전송 팝업」이 뜬다. 컨트롤 ID:

id 종류 내용
1990 Edit 명칭(&N)
2053 Edit 팩스번호(&F)
2041 Button 송부처 목록에 추가(&A) — 번호 입력 전엔 disabled
2047 SysListView32 송부처 목록 (LVM_GETITEMCOUNT 0x1004 로 건수 확인)
2048 Static 현재의 등록 건수 n/100
1 / 2 Button 확인(=전송, 목록 비면 disabled) / 취소

순서 = 두 Edit 에 한 글자씩 WM_CHAR(WM_SETTEXT 만으로는 EN_CHANGE 가 안 떠 추가 버튼이 안 살아날 수 있다) → 2041 BM_CLICK → 목록 1건·확인 enabled 확인 → 1 BM_CLICK. 팩스번호는 구분자 없이(0328151589). 확인을 누르면 팝업이 닫히고 그 순간 Excel 의 PrintOut 이 반환된다.

⏳ 남은 것