본문 바로가기

Python113

[파이썬-아래아한글] API매뉴얼과 스크립트매크로가 다르다? 안녕하세요? 회사원코딩의 신명진입니다. 이번 포스팅은, 스크립트매크로와 API매뉴얼 코드의 차이에 대해서 한 번 보여드리려고 합니다. 어떤 간단한 예제를 들어볼까 하다가, 쪽번호 감추기를 골라보았습니다. 아래는 스크립트매크로 녹화(Shift-Alt-H)를 이용한 "쪽번호 감추기" 기능입니다. function OnScriptMacro_script5() { HAction.GetDefault("PageHiding", HParameterSet.HPageHiding.HSet); with (HParameterSet.HPageHiding) { Fields = Hiding("PageNumPos"); } HAction.Execute("PageHiding", HParameterSet.HPageHiding.HSet); } .. 2020. 7. 29.
[파이썬-아래아한글] 제가 아래아한글 작업을 자동화하는 요령은.. 안녕하세요? 회사원코딩의 신명진입니다. 아래아한글 홈페이지 - 고객지원 - 개발자료실에 가면 아래아한글을 코딩으로 자동화할 수 있는 다양한 언어 예제와 API 매뉴얼이 있습니다. VB, MFC, C#, JS 등의 언어로 구현이 되어 있어요. 파이썬 코드도 이와 크게 다르지 않아서, API 매뉴얼을 어느 정도 읽어보시면 독학으로도 충분히 파이썬 자동화를 하실 수 있습니다. (링크 : https://www.hancom.com/board/devdataList.do?gnb0=25&gnb1=81 ) 신기하게도 아래아한글의 API는 같은 기능을 가지고도 구현방법이 여러가지입니다. 이게 제일 생소했던 부분인데, (문의메일을 보면 이 부분 때문에 "방대하고 어렵다"고 느끼시는 분도 많은 것 같아요.) 사실 파이썬에서 .. 2020. 7. 28.
백그라운드의 아래아한글, 숨김해제하는 방법(Visible) import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hwp.RegisterModule("FilePathCheckDLL", "SecurityModule") current_window = hwp.XHwpWindows.Item(0) current_window.Visible = True # 숨김해제하는 코드 # hwp.XHwpWindows.Item(0).Visible = True 로 실행해도 동일 안녕하세요? 회사원코딩의 신명진입니다. 한/글2018이든 2020이든, 아니면 2010이든간에 최신 업데이트를 하고 나서 파이썬으로 아래아한글을 열면 기본적으로 백그라운드에서 파일이 열리게 됩니다. (커맨드창에.. 2020. 7. 28.
유튜브에 "회사원코딩"을 검색해보세요. 저는 회사원코딩이라는 유튜브 채널을 운영하고 있습니다. 공공기관 막내 생활을 5년 넘게 해 오면서, 단순한 아래아한글 반복작업 때문에 야근을 많이 했습니다. 그 때 이것저것 시도해보면서 얻은 지식과 노하우를 바탕으로 아래아한글-파이썬 자동화 예제를 동영상으로 만들어서 올리던 중에 이제는 아이디어가 슬슬 동이 나고 있어서... 영상을 올리지 않고 있습니다. (자동화라고 해봤자 10여개 명령어만 알면 정말 "다 할 수 있다"고 해도 과언이 아니거든요..) 10분 영상 기획해서 컷편집 작업하는 것도 시간을 많이 쓰게 되더라고요ㅜ 그리고...영상을 안 올리니까 구독자도 천 명 언저리에서 안 오르고 있습니다. 그만 올릴까 했는데 아직도 문의메일은 종종 받습니다. 대부분의 방법은 제 영상 곳곳에 다 설명해놓긴 했는.. 2020. 7. 28.
selenium으로 크롤링할 때 frame과 object 태그 차이 html 안에 html을 삽입해놓은 웹사이트가 많이 있다. 한 개의 html 안에 수천 수만줄의 태그와 js를 유지관리하기도 힘드니, 어찌 보면 개발자 입장에서 당연할 수 있다. 이 때 삽입하는 방법은 주로 iframe태그를 넣거나, object 태그를 넣는 방법 중 하나로 하는데 각각을 크롤링하는 방법에 작은 차이가 있다. 우선 iframe이 삽입되어 있는 경우는(주로 동영상 플레이어나, 메뉴바, 사이드바와 본문내용이 구분되는 경우에 사용) driver.find_element_~가 아니라 driver.switch_to.frame(프레임name이나 id)로 접근하고, 상위프레임으로 이동해야 할 때 다시 driver.switch_to.parent_frame 이나 driver.switch_to.default.. 2020. 3. 31.