VBA OOP / INDEX CH1 - 오리 시뮬레이션 게임 - 전략 패턴 (Strategy Pattern) CH1 - 오리 시뮬레이션 게임 1편 / VBA 객체지향 사용방법 예시 CH1 - 오리 시뮬레이션 게임 2편 / 인터페이스 확장 CH1 - 오리 시뮬레이션 게임 3편 / 인터페이스 동적 활용 및 정리 CH2 - 기상 모니터링 - 옵저버 패턴 (Observer Pattern) CH2 - 기상 모니터링 1편 / 옵저버 패턴의 이해 및 구조 파악 CH2 - 기상 모니터링 2편 / 시스템 설계 및 구현 CH2 - 기상 모니터링 3편 / 옵저버 패턴 방식 변경 CH3 - 스타버즈 주문 시스템 - 데코레이터 패턴 (Decorator Pattern) CH3 - 스타버즈 주문 시스템 1편 /
CH2 - 기상 모니터링 3편 / 옵저버 패턴 방식 변경 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 새로운 데이터 추가와 옵저버 방식에 대한 관점 지금까지의 코딩으로, 하나의 데이터(온도 등)만 바뀌어도 update() 메소드를 통해 모든 데..
CH2 - 기상 모니터링 2편 / 시스템 설계 및 구현 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 기상 모니터링 시스템 설계하기 GitHub Commit History / VBA OOP / CH2 - 기상 모니터링 2편 / 시스템 설계 및 구..
CH2 - 기상 모니터링 1편 / 옵저버 패턴의 이해 및 구조 파악 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 기상 모니터링 애플리케이션 제작 날씨를 알려주는 기상 모니터링 애플리케이션을 만들어봅시다. 날씨 관측 장비로 부터 날씨 데이터를 얻..
OOP in VBA: Immutability & The Factory Pattern 이 글은 Rubberduck Blog의 OOP in VBA: Immutability & The Factory Pattern 글을 번역하며 공부하기 위한 기록으로, 일부 생략된 부분이 있을 수 있습니다. 오역, 오타에 관한 자유로운 의견 감사드립니다. 이 포스팅은 OOP(객체지향프로그래밍)을 다루는 포스팅입니다. 해당 기사에 대한 코드는 GitHub의 여기에 있습니다. 공장 패턴 (Factory Pattern) 공장이라는 말 그대로입니다: 물건을 만드는 역할을 하는 객체입니다; 객체 생성의 개념을 캡슐화합니다. Dim thing As Something Set thing = New Something '
CH1 - 오리 시뮬레이션 게임 3편 / 인터페이스 동적 활용 및 정리 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 이전 편에서는 오리 시뮬레이터 확장하여 Excel VBA에서 실행해보았고, 인터페이스 확장에 대해서도 알아보았습니다. 행동 인터..
CH1 - 오리 시뮬레이션 게임 2편 / 인터페이스 확장 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 이전 편에서는 오리 시뮬레이터를 Excel VBA에서 실행해보았고, 인터페이스 사용법에 대해서도 알아보았습니다. 원문에서는 JAVA의 상속을 ..
CH1 - 오리 시뮬레이션 게임 1편 / VBA 객체지향 사용방법 예시 이 글은 Excel VBA 에서 객체지향 디자인 패턴을 사용하는 것을 학습하며 정리하기 위한 글입니다. 내용은 책 "헤드 퍼스트 디자인 패턴 : 14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법"을 변형하여 적용하였습니다. 모든 코드는 GitHub의 Commit History에서 변경된 내용을 볼 수 있습니다. Excel Office 365 with RubberDuck Add-In GitMind - UML-클래스 다이어그램 GitHub with Visual Studio Code 원문에서는 JAVA의 상속을 이용하지만, 사실 VBA에는 상속이 없습니다! 따라서 인터페이스를 대안으로 사용하고 있습니다. 오리..
VBA / INDEX Rubberduck VBA Rubberduck / 러버덕 VBA Rubberducking (Part 1) VBA Rubberducking (Part 2) VBA Rubberducking (Part 3) VBA Rubberducking (Part 4) VBA에서의 OOP: 불변성 & 팩토리 패턴 개념 VBA / Workbook 개체 / 워크북 VBA / Worksheet 개체 / 워크시트 VBA / MsgBox / 함수 VBA / InputBox / 메서드 VBA / String / 문자 활용 VBA / Time 시간 대기, 지연 이벤트 3 가지 오류 VBA / 대입의 왼쪽에서 호출하는 함수는 Variant나 Object를 변환해야 합니다. VBA / Declare 64Bit 오류 V..
VBA / Time 시간 대기, 지연 이벤트 3 가지 이 글은 Excel VBA 코딩하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다. 이 포스팅은 Excel VBA에서 시간, 대기 이벤트를 사용하는 것에 대해 다룹니다. 1. Wait Microsoft technical documentation (Application.Wait) https://docs.microsoft.com/en-us/office/vba/api/excel.application.wait 장단점 및 사용법 (Application.Wait) Wait 메서드는 모든 Excel 작업을 일시 중단한 상태에서 대기합니다. 인쇄 및 재계산같은 백그라운드 프로세스는 계속됩니다. 현재 시간으로 부터의 초 단위로만 대기할 수 있으며, 정확하지 않습..
VBA WinAPI / user32 - SetForegroundWindow 이 글은 Excel VBA 코딩 중, Windows API 함수를 사용하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다. 이 포스팅은 Excel VBA에서 Win API를 사용하는 것에 대해 다룹니다. user32 - SetForegroundWindow 프로그램 창을 최상위로 활성화하고, 키보드 포커스를 창으로 맞추며 사용자 시각 효과가 변경됩니다. 시스템은 다른 스레드보다 포커스 창에 더 높은 우선순위를 할당합니다. Microsoft technical documentation https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setforegroun..
VBA WinAPI / user32 - ShowWindowAsync 이 글은 Excel VBA 코딩 중, Windows API 함수를 사용하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다. 이 포스팅은 Excel VBA에서 Win API를 사용하는 것에 대해 다룹니다. user32 - ShowWindowAsync 작업 완료를 기다리지 않고 창의 표시 상태를 설정하여, 최소화된 창을 다시 보이게 하는 등의 작업을 할 수 있습니다. Microsoft technical documentation https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindowasync nCmdShow 매개인자 https://docs.micro..
VBA WinAPI / user32 - GetWindowText 이 글은 Excel VBA 코딩 중, Windows API 함수를 사용하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다. 이 포스팅은 Excel VBA에서 Win API를 사용하는 것에 대해 다룹니다. user32 - GetClassName 윈도우 핸들을 통해 프로그램의 창 이름을 반환합니다. Microsoft technical documentation https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowtexta 함수 선언 코드 상단에 추가해서 사용합니다. #If VBA7 Then Private Declare PtrSafe Function Ge..
VBA WinAPI / user32 - GetClassName 이 글은 Excel VBA 코딩 중, Windows API 함수를 사용하는 과정을 기록하기 위한 것이므로 이 점 참고 바랍니다. 이 포스팅은 Excel VBA에서 Win API를 사용하는 것에 대해 다룹니다. user32 - GetClassName 윈도우 프로그램이 가지는 고유의 핸들 클래스 이름을 반환합니다. Microsoft technical documentation https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getclassname 함수 선언 코드 상단에 추가해서 사용합니다. #If VBA7 Then Private Declare PtrSafe Function..