Excel VBA에서 가장 많이 쓰는 Range Property와 Method 목록입니다. 엑셀로 적었는데 표는 붙여넣기가 안 되어, 이미지로 올립니다. 전체 목록은 아래의 MS Office 공식 문서에서 확인 가능합니다. Property : msdn.microsoft.com/en-us/library/office/dn301006.aspx Method : msdn.microsoft.com/en-us/library/office/dn301009.aspx Most Useful Range Properties Most Useful Range Methods
예외 처리는 에러가 발생하더라도 스크립트의 실행을 중단시키지 않고 계속 실행하고자 할 때 사용합니다. 1. Try Except 구문 사용하기 try: 실행할 코드 except: 예외가 발생했을 때 처리하는 코드 예시 try: x = int(input('나눌 숫자를 입력하세요: ')) y = 10 / x print(y) except: # 예외가 발생했을 때 실행됨 print('예외가 발생했습니다.') x에 0을 입력하면 10/0이 되어 오류가 발생하지만, 여기서는 except를 사용하여 해당 오류를 처리 특정 예외만 처리하기 y = [10, 20, 30] try: index, x = map(int, input('인덱스와 나눌 숫자를 입력하세요: ').split()) print(y[index] / x) ex..
1. 개요 파이썬을 이용하여 아웃룩(Outlook)으로 이메일을 발송합니다. win32com 모듈로 Outlook Object Model을 이용합니다. Outlook MailItem Object new_Mail이라는 변수에 새로운 이메일을 오브젝트 형태로 불러옵니다. 이 오브젝트를 이용하여 메일을 작성하고 보냅니다. new_Mail = win32com.client.Dispatch("Outlook.Application").CreateItem(0) 사용하는 프로퍼티 new_Mail.To : 메일 수신자 new_Mail.CC : 참조 new_Mail.Subject : 메일 제목 new_Mail.HTMLBody : 메일 내용(HTML 형태) new_Mail.Attachment : 첨부 파일 -> Attachme..
1. 개요 일을 하다보면 암호가 걸려있는 PDF 파일을 수정해야 할 일이 있습니다. 물론 서명을 위조하거나, 암호를 알아내는 것은 불가능하지만, 파일 내용을 그대로 복사하여 내용이 동일한 새로운 PDF 파일을 생성하는 방법으로 잠금을 해제하여 사용할 수 있습니다. (읽기가 막혀있는 파일은 안 됩니다.) 다시 말해서, 암호가 걸려있는 파일과 동일한 내용의 새로운 파일을 생성하는 것입니다. 2. 방법 pikepdf(pypi.org/project/pikepdf/)를 이용합니다. 준비물 1) pikepdf를 설치합니다. 커맨드창에서 입력 pip install pikepdf 2) 테스트를 위한 PDF 파일을 준비합니다. 코드 순서 1) PDF 파일을 열고, 2) 내용을 복사하고 3)새로운 파일로 저장합니다. 과거..
숨겨진(hidden 속성을 가지는) 모든 요소를 확인하기 위해서는 아래와 같은 코드를 사용합니다. // Matches all elements that are hidden $('element:hidden') visible 속성을 가진 모든 요소는 아래와 같이 찾을 수 있습니다. // Matches all elements that are visible $('element:visible') 특정 요소에 hidden 혹은 visible 프로퍼티가 있는지 확인하는 법 위의 방법과는 달리, 특정 요소에 hidden 혹은 visible 프로퍼티를 지닌 속성이 있는지 확인하는 법입니다. // Checks CSS content for display:[none|block], ignores visibility:[true|f..
앞의 게시물에 이어, 조건 검색 관련 함수들을 Qt Designer로 만든 UI에 연결시키도록 하겠습니다. 1편 : kminito.tistory.com/36 2편에서 다룰 내용 - UI와 함수 연결 - 로그창 작동 - 텔레그램 알림 구현 참고 : 조건 검색 실행은 각 조건식별로 1분에 5회의 검색 제한이 있습니다. 테스트를 하다 보면 같은 조건식을 1분에 5회 이상 실행하게 될 경우가 있으므로, 조건 검색이 실패할 경우 잠시 기다렸다가 1분이 지나서 다시 실행하시면 됩니다. 4. UI와 함수 연결하기 1) 콤보박스에 조건 검색식 불러오기 위의 PyTrader 화면의 조건 검색식을 고르는 ComboBox에 사용자의 조건식을 불러오려고 합니다. 해당 콤보박스의 Object Name은 "comboBox_con..
조대표님의 위키독스 '파이썬으로 배우는 알고리즘 트레이딩' 프로그램에 조건검색 기능을 추가하여, 조건검색 해당 종목이 뜨면 휴대폰 텔레그램으로 알림을 받는 프로그램을 만들고자 합니다. 증권사는 키움입니다. 따라서 키움API와 PyQt에 대한 기본적인 이해를 필요로 합니다. 필요할 경우 위키독스(wikidocs.net/book/110)에서 기본을 익히시면 됩니다. 전체 코드 링크는 맨 아래에 있습니다. 작동 영상 일부러 실시간으로 종목의 편입/이탈을 반복하는 조건식을 선택하여 테스트했습니다. 1. 개요 키움증권의 조건검색 기능을 이용하여, 해당 조건을 만족하는 종목이 포착되었을 경우 텔레그램 메시지를 발송토록 하고자 합니다. 키움증권 OpenAPI에서 제공하는 조건검색 기능은 영웅문(HTS)에서 작성한 조..
키움증권은 서버 과부화 및 API 악용을 막기 위하여 API 사용 조회 및 주문 제한이 있습니다. 현재 공식적으로는 초당 5회 미만으로 제한을 두고 있으며, 추가적인 제한은 시장 상황과 서버 상황에 따라 유동적입니다. 1시간 이상 프로그램이 작동하며 많은 조회 및 주문이 이루어진다는 가정 하에, 3.6초의 시간간격을 두고 TR요청 및 주문을 하는 것이 일반적입니다. (작성일 2020년 10월 31일 기준) 3.6초 간격 : 1시간에 1,000회 -> 정상 작동 3.5초 간격 : 1시간에 1,028회 -> 조회 차단 발생 또한 키움에서는 시세/호가/조건검색/주문체결 등을 모두 실시간데이터로 서비스하고 있으니, 과도한 조회요청 대신에 실시간 이벤트와 실시간 데이터를 사용할 것을 권고하고 있습니다. 그리고 주..
JWPlayer를 이용하는 온라인 교육의 빨리 감기 방법입니다. 착안 화면에 속도 조절 버튼이 있어, 소스를 확인해보니 아래와 같은 스크립트를 발견함. playbackRate 변수가 속도인 것으로 예상하고 숫자 변경 결과 잘 됨. 화면에 속도 증가를 클릭하면 2배속이 최대이나, 변수를 직접 수정하면 최대 15배속까지 가능. 방법 1) 교육을 정상적으로 재생합니다. 2) 교육 재생 화면에서 F12를 눌러 개발자 도구로 들어갑니다. 3) 콘솔 탭에서 Frame을 선택해야 하는데, 이름에 JWPlayer가 들어간 것으로 선택합니다. 아래 화면에서는 VerticalJWplayer.aspx를 선택했습니다. 가로 화면일 경우 이름이 다를 수 있으나, 어쨌든 JWPlayer가 들어간 것으로 선택하시면 됩니다. 4) ..
리스트를 특정 크기의 리스트로 분할하기 아래의 예제에서는 크기가 9인 리스트를 4개씩 나누기 한 것 (n=4) 코드 my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # How many elements each list should have n = 4 # using list comprehension result1 = [my_list[i * n:(i + 1) * n] for i in range((len(my_list) - 1 + n) // n )] print (result1) 결과 List Comprehensin에 대한 설명 result1 = [my_list[i*n:(i+1)*n] for i in range((len(my_list) - 1 + n) // n )] 1) 먼저 몇 개의 리스트..
개선된 내용의 게시물을 작성 중에 있습니다. 아래의 링크 참조 부탁드립니다. (2021/09/25) 파이썬으로 SRT 예매 프로그램 만들기 시리즈 https://kminito.tistory.com/79 [Python] 파이썬으로 SRT 예매 프로그램 만들기 (1) 기능 구현하기 안녕하세요? 과거에 처음 코딩을 배우던 시절 짠 허접한 SRT 매진 표 예매 게시물을 올렸었는데요, 이번에 코드를 새로 짜는 김에 파이썬 초보분들에게 도움이 될 수 있도록 어떤 식으로 접근하 kminito.tistory.com 파이썬으로 SRT 표 예매 과정을 자동화 한 것입니다. 웹에서의 동작은 셀레늄을 이용했습니다. 아래 내용을 보시면 아시겠지만 단순히 사람이 하는 반복 작업을 파이썬을 통해 자동화 한 것이라 한계가 분명합니다..
텔레그램은 API를 제공하며, 파이썬에서 python-telegram-bot 라는 라이브러리를 이용하면 정말 간편하게 텔레그램 봇을 통하여 메시지를 발송할 수 있습니다. 프로그램 돌리면서, 휴대폰 텔레그램 앱으로 메시지를 받을 수 있다는 것이 정말 큰 장점입니다. 사용법 또한 매우매우 간단합니다. 저는 아래와 같은 곳에 사용중입니다. (각 항목 모두 포스팅 예정) 1) 주식 프로그램에서 조건검색식 종목 신호가 오면 텔레그램으로 메시지 발송 2) 기차표 예매 매크로를 돌려서, 예약 성공시 메시지 발송 3) 매일 특정 홈페이지를 스크랩하는 프로그램을 돌려놓았을 경우, 스크랩 성공시 해당 내용 메시지 발송 사용 방법은 아래와 같은 순서로 진행됩니다. 1) python-telegram-bot 설치 2) 텔레그램..