본문 바로가기

반응형

진리는어디에

(289)
[VBA] Range와 Cell 완벽 가이드 이 포스트는 Excel Macro Mastery 사이트의 'The Complete Guide to Range and Cells in Excel VBA(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 VBA의 Range와 Cell에 대해 다룹니다. Range & Cell 사용법 요약 함수 파라메터 리턴 타입 예 결과 Range cell 주소 멀티 셀 Range("A1:A4") $A$1:$A$4 Cells 행(row) 번호, 열(column) 번호 단일 셀 Cells(1, 5) $E$1 Offset 행(row) 번호, 열(column) 번호 멀티 셀 Range("A1:A2").Offset(1, 2) $C$2:$C$3 Rows 행(row) 번호 또는 행(row) 범위 단일 ..
[VBA] Worksheet 완벽 가이드 주말이 참 빨리 흘러 갑니다. 잠깐 책 좀 폈다, 잠깐 읽었다 싶으면 하루가 날아가네요. 오늘은 이전 포스트 '[Excel] VBA - Workbook 완벽 가이드'에 이번에는 VBA 스크립트의 Worksheet에 대해 공부 해보려고 합니다. 원문은 Excel Macro Mastery 사이트의 The Complete Guide To The VBA Worksheet(by Paul Kelly)입니다. 혹시 제가 제대로 이해하지 못하고 헛소리 하는 부분이 있다면 알려주시면 감사하겠습니다. VBA Worksheet 사용법 요약 NOTE - 아래 간략 예제에서는 코드의 간략성을 위해 워크북(Workbook)을 명시하지 않았습니다. 여러분이 실제 코드에서 사용하실 때는 ThisWorkbook.Worksheets, ..
[VBA] 디버깅(Debugging) 프로그램을 개발하다 보면 언제나 생각 처럼 동작해주지 않습니다. 왜 프로그램이 내가 원하는대로 동작하지 않는지 알아 보기 위해서는 디버깅이 필수적이지요. VBA를 이용해 아무리 간단한 매크로를 만들 때도 디버깅에 관해서는 예외가 없습니다. 이번 포스트는 VBA 디버깅에 관한 이야기를 해보도록 하겠습니다. Debug.Print 전통적으로 가장 접근하기 쉬운 디버깅 방법은 내가 원하는 내용을 출력해보는 것입니다. VBA에서도 내가 궁금한 내용을 출력 해볼 수 있는 Debug.Print 라는 간단한 방법을 제공하고 있습니다. 아래는 워크북 개체의 프로퍼티들을 출력하는 간단한 샘플 코드입니다. 아래의 예제를 위해 'Example.xlsm' 이라는 엑셀 문서가 미리 만들어져 있다고 가정하겠습니다. Public S..
[VBA] Workbook 완벽 가이드 처음엔 굼뜨고 보잘것 없는 프로그래밍 언어라고 생각했는데 적당한 중소형 규모 데이터를 처리하는데 이 보다 좋은 툴이 없습니다. 데이터 시트와 그걸 다루기 위한 유용한 함수들을 제공해주고, 함수를 지원하지 못한다면 직접 만들어 사용 할 수 있도록 스크립트도 지원합니다. 유저 컨트롤을 마음대로 붙여 넣을 수 있으며, 데이터 프로세싱 로직도 마음대로 추가 할 수 있습니다. 세상에 적당한(?) 규모의 데이터를 처리하기에는 이보다 더 좋은 도구를 찾지 못하겠습니다. 역시 오랜 기간 사람들에게 사랑 받아 온 제품은 다 이유가 있구나라는 생각이 드네요. 그래서 조금 더 알아 보고 싶어 지네요..❤ 아래 내용들은 Excel Macro Mastery의 The Complete Guide To The VBA Workbook..
도메인 이름을 이용해 IP 주소 얻기(getaddrinfo) #include #include #include int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res ); struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ int ai_family; /* AF_XXX */ int ai_socktype; /* SOCK_XXX */ int ai_protocol; /* 0 or IPPROTO_XXX for IPv4, IPv6 */ size_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *a..
[VBA] Visual Basic for Application 본 문서는 프로그래밍을 20여년 해온 본인이 VBA(Visual Basic for Application) 스크립트를 처음 사용해보면서 알게된 기본적인 내용들을 기록하기 위해 작성 되었습니다. 변수는 무엇인지 또 클래스는 무엇인지 등의 기본 개념들에 대해서는 언급하지 않고 변수를 선하고 사용하는법, 클래스를 만드는 법 등의 '사용법'을 위주로 다룹니다. 물론 프로그래밍에 대해 아무것도 모르고 엑셀을 사용하면서 '매크로'라는 기능을 사용해보고 싶은 사람도 이 포스트를 보고 공부를 할 수는 있지만 근본적인 궁금증은 해결하기 어려울 것입니다. 하지만 아직 뭐가 궁금한지도 모르는 사람이라면 이 포스트가 하나의 시작점이 될 수 있을 것이라 생각합니다. 시작 비주얼베이직 프로젝트 창 띄우기 VBA를 사용하는데 사실 ..
[VBA] CSV 저장(export) 서문 제가 개발하고 있는 게임에서는 게임 내 메타 데이터(아이템, 퀘스트, 이벤트 관련 데이터 등등)를 csv를 이용하고 있습니다. 엑셀에서 강력한 함수들을 이용해 아이템의 레벨이라던지 경험치 배분을 관리하고 완료 되면 최종 단계에서 csv로 export하여 인게임에서 가져다 씁니다. 그런데 매번 데이터 변경이 있을 때 마다 각 시트를 export하기 너무 귀찮습니다. 관리하는 시트가 한 두개였을 때는 문제가 없었지만 많아지니 답도 없습니다. 그리고 시트가 많아지니 내가 무슨 시트를 수정했는지 기억도 안납니다. 그래서 생각한 것이 단축키 한번에 모든 시트들을 'csv'로 export 해줄수 있으면 좋겠다. 인터넷에서 csv로 export 해준다는 vba 소스를 찾아 복붙한 후 실행 시켰습니다. 그런데 이..
[socket] socket 함수에 관한 고찰 들어가며 프로그래밍을 공부하면서 최소한 소켓 프로그래밍라는 것에 대해서 한 두번은 들어 보셨다고 가정하겠습니다. 그렇지 않으시다면 이 포스팅을 찾아서 읽고 계실 이유가 없겠지요. 뭐, 그것이 아니라면 최소한 소켓프로그래밍에 관심이 있어 어디에서 든지 배워 보고자 하시는 분들이겠지요. 따라서 소켓의 역사니, 어쩌고 귀찮은 이야기 들은 하지 않도록 하겠습니다. 간단 명료하게 시작하도록 하겠습니다. 소켓프로그램을 시작하기 위해서는 '소켓(socket)'이라는 것이 필요 합니다. 너무 당연한 말인가요? 일단 소켓이라는 것이 무엇인지에 대해서 먼저 알아보도록 하겠습니다. 전산학에 관련된 모든 정의를 내린다고 해도 과언이 아닐 정도로 정의를 많이 가지고 있는 RFC문서에 따르자면 아래와 같이 이야기 하고 있습니다...
[Linux] 좀비 프로세스 죽이기 좀비 프로세스란? 자식 프로세스가 exit 시스템 콜을 호출하여 종료 되면 프로세스에 관련된 모든 리소스가 해제되어 다른 프로세스에서 사용 할 있게 되지만, 자식 프로세스가 종료 되더라도 부모 프로세스에서 자식 프로세스의 상태를 알고 싶을 수도 있기 때문에 커널은 자식 프로세스가 종료 되더라도 프로세스 아이디, 종료 상태 등의 최소한의 정보를 프로세스 테이블에 유지 한다. 이미 프로세스의 리소스는 모두 회수 되었지만 시스템의 프로세스 테이블에 남아 있는 프로세스를 "defunct" 또는 "dead" 상태 프로세스라고 하며 일반적으로 "좀비" 프로세스라고 더 잘 알려져 있다. 이 좀비 프로세스를 없애기 위해서는 부모 프로세스가 죽거나, 부모 프로세스에서 wait 또는 waitpid 시스템 콜을 호출하면 된..
[C++20] 어트리뷰트(Attribute) attribute는 C++11 부터 지원되는 기능으로써 자료형, 객체, 코드등에 대하여 속성(attribute)을 설명하는 단일화된 표준 문법을 제공한다. 예를 들어 GNU와 IBM에서는 __attribute__(...))가 있었고, MS 비주얼 스튜디오에는 __declspec()이 제공하던 기능들이 C++11 부터 언어 자체에 포함 된 것이다. attribute는 컴파일러에 추가 정보를 전달하는 것으로써 자료형, 객체, 코드등에 대하여 속성을 지정하여 구현된 내용이 속성과 부합하지 않는다면 경고 또는 에러를 출력한다. 컴파일 타임에 코드의 내용을 분석해서 attribute와 맞지 않는다면 컴파일 에러 또는 경고를 발생 시키므로 주석보다는 가능하다면 attribute를 사용하도록 하자. atturbute..

반응형