VBA에서 배열을 크기를 미리 정하지 않고, 흐름에 따라서 배열 크기를 증가시키면서 사용하는 것을 동적 배열이라 하고, 이 때 redim preserve를 사용하게 된다. 일반적인 사용법을 찾아보면, redim preserve는 일차원 배열에 대해서만 사용가능하다고 나와있어, 다차원 배열을 사용하고자 할때는 어려움이 있었다. 좀 더 내용을 찾아보니, 배열에 배열을 저장하는 방식으로 사용하면, 다차원 배열처럼 사용할 수 있음을 알게 되었다. 일반적인 다차원 배열 저장방식 Sub test_array() Dim aTemp(), aTemp1(), aTemp2() Dim atest ReDim aTemp2(2, 1) aTemp2(0, 0) = "a" aTemp2(0, 1) = 1 aTemp2(1, 0) = "b" ..
기존에 작성된 Word 문서에서 특정 페이지의 줄로 위치를 이동하는 예제를 만들었다. 문서를 수정하고 스타일을 덮어씌울려면 임의 위치로 이동하는 방법이 요긴할 것이다. 문서의 특정 페이지와 줄로 커서를 이동하고 등록된 스타일 적용하는 예제 Sub OpenWordDocment() Dim WordApp As New Word.Application ' Word 문서를 객체로 설정 WordApp.Visible = True 'New Apps will be hidden by default, so make visible ' 신규 문서 추가 Dim WordDoc As New Word.Document Set WordDoc = WordApp.Documents.Open("C:\WORKS\WORD MACRO\AMEM.DOCX"..
MS Word 에 스타일을 지정하여, 글자를 추가하는 예제를 만들어보았다. ○ 스타일을 등록하지 않고 사용하는 방법 ○ 기존에 등록된 스타일을 이용하는 방법 스타일을 등록하지 않고 사용하는 방법 Ms Word 에 문서를 추가하고 글씨를 쓰는 예제 (WordApp. 사용) Sub CreateWordDocument() ' Word 문서 새로 생성하기 ' Word 변수 객체 선언 ' Dim WordApp As New Word.Application ' Word 문서를 객체로 설정 WordApp.Visible = True 'New Apps will be hidden by default, so make visible ' 신규 문서 추가 Dim WordDoc As New Word.Document Set WordDoc..
Excel VBA로 MSWORD를 실행시키고, 문서를 추가한 후, 글자를 쓰는 예제를 만들어보았다. 개념을 정리해보면 MSWORD 프로그램을 가르키는 객체 변수, WordApp를 선언하고, MSWORD에 새문서를 추가하여 WordDoc 변수를 선언한 후, 글자는 WordApp에 입력을 한다. Ms Word 에 문서를 추가하고 글씨를 쓰는 예제 여기서, "WordApp.Selection.TypeParagraph"는 엔터키(줄바꿈)를 치는 것과 같은 효과이다. Sub CreateWordDocument() ' Word 문서 새로 생성하기 ' Word 변수 객체 선언 ' Dim WordApp As New Word.Application ' Word 문서를 객체로 설정 WordApp.Visible = True 'N..
Excel 매크로를 이용하여 Ms Word를 신규로 생성하는 것과, 기존 파일을 여는 방법 2가지로 정리하였다. Ms Word 신규 생성 Sub CreateWordDocument()' Word 문서 새로 생성하기 ' Word 변수 객체 선언 ' 아래 둘중 하나를 사용 ' ' (1) dim / set 각각 별도 정의 Dim WordApp As Word.Application' Word 변수 선언 Set WordApp = New Word.Application' Word 문서를 객체로 설정 ' (2) dim / set 을 한번꺼번에 정의 Dim WordApp As New Word.Application ' Word 문서를 객체로 설정 ' 신규 문서 추가 Dim WordDoc As New Word.Document ..
Ms Word를 제어하기 위해, 기본적으로 준비해야할 사항들을 정리하였다. 매크로 사용전 준비사항 Excel VBA를 이용하여 MSWord를 제어하기 위해서, 우선 MSword dll 를 추가해야한다. 아래와 같이 추가한다. ♣ Excel Macro 편집기를 실행하고, "도구(Tools)" ≫ "참조(References..)" 선택한다. ♣ Popup 창에서 Microsoft Word Object (버젼은 설치된 office 버젼에 따라 달라짐)를 선택하여 추가해준다. 매크로 Module 추가 MS Word를 제어하기 위한 매크로 작성을 위해 새로운 Module을 다음과 같이 추가한다. ♣ Mouse 커서를 왼쪽 상단에 두고, Mouse 오른쪽 버튼을 누르면 Drop down 메뉴에서 "Insert"≫"..
엑셀 MACRO (VBA)로 Text 혹은 CSV 파일을 열고, 데이터 읽기, 쓰기를 하는 방법이다. 기본적으로 "Open" 명령어를 사용하여 파일을 열고, "Read", "Write"명령어를 사용하여 데이터를 읽고쓰는데, 다음과 같은 내용을 간단히 숙지하고 사용하도록 한다. 다음 3가지 모드 중에 한가지를 선택하여 파일을 열어야 한다. INPUT : 데이터 혹은 Text File 읽기 모드. 데이터 추가, 편집 등이 불가능 OUTPUT : 데이터 혹은 Text File 쓰기 모드. 파일을 초기화하고 빈 파일로 연다. 데이터 추가, 편집 가능 APPEND : 데이터 쓰기 모드. 데이터 파일을 열고 내용 맨 뒤에 커서가 위치함. 데이터 추가, 편집 가능 따라서, 데이터를 출력하기 위해서는 기존의 데이터에 ..
3점을 지나는 원곡선의 중심좌표 및 반지름을 구하는 공식을 정리하였다. 원의 기본 방정식 : (X - X0)^2 + (Y - Y0)^2 = R^2 X^2 - 2XX0 + X0^2 + Y^2 - 2YY0 + Y0^2 = R^2 X^2 - 2XX0 + Y^2 - 2YY0 = R^2 - X0^2 - Y0^2 여기서, 반지름 R, 원 중심 X0 및 Y0는 상수이므로, 아래와 같이 C로 치환하면, C = R^2 - X0^2 - Y0^2 X^2 + Y^2 = C + 2XX0 + 2YY0 2X X0 + 2Y Y0 + C = X^2 + Y^2 즉, 세점 (Xi, Yi), (Xj, Yj), (Xk, Yk) 가 주어졌을때, [ 2Xi 2Yi 1 ] [X0] = [ Xi^2 + Yi^2 ] [ 2Xj 2Yj 1 ] [Y0]..
VBA Dictionary란? Dictionary data type은 key, value쌍으로 이루어진 Collection이다 배열과 비슷하지만 배열과 달리 추가,삭제가 가능하고 Collection 객체와 같은 방법으로 사용이 가능하다 Dictionary 와 비교했을때, Collection의 문제점은 Key값이 이미 등록되었는지 확인이 어렵고, 이미 등록된 item에 대해서 값을 변경할 수 어렵다 . 이러한 관점에서, Dictionary가 보다 유용한 툴이다. VBA Dictionary 사용법 Function Example Early binding reference “Microsoft Scripting Runtime” (Add using Tools->References from the VB menu) D..