728x90
300x250
[Office VBA] Excel VBA - Registry 데이터 가공하기

 

이번에 소개할 것은 Microsoft Office Excel(이하 마이크로소프트 오피스 엑셀)로 Registry(레지스트리)를 접근하는 방법에 대해서 소개하고자 합니다.

먼저 아래에서 소개하고 있는 레지스트리가 무엇인지 간단하게 소개합니다.

 


1. 윈도우에서의 레지스트리

 

 

그림 1-1) Microsoft Windows 7 / 레지스트리

 

위의 내용을 오피스 VBA(이하 MS Office Excel for Visual Basic Application)으로 읽어오는 방법에 대해서 소개하고자 합니다.

아래의 코드처럼 작성하면 읽어들일 수 있습니다.

 


2. 구현하기

 

Option Explicit

Sub Reg_Read_Example()

    Dim ShellWinscript As Object
    Dim RegRoot As String
    Dim RegVal As String
   
    RegRoot = "HKEY_CURRENT_USER\Software\Microsoft\Windows"
    Set ShellWinscript = CreateObject("WScript.Shell")
   
    RegVal = "찾을 수 없습니다."
    On Error Resume Next
    RegVal = ShellWinscript.RegRead(RegRoot)
   

On Error Resume Next    
    If RegVal = "찾을 수 없습니다." Then
        MsgBox "키를 찾을 수 없습니다."
    Else
        MsgBox RegVal
    End If

End sub

 

그림 1-2) 슈도코드(Pseudocode)

 

반응형
728x90
300x250
[Office VBA] Office Ribbon Editor v4.4.2

 

[Office VBA] Custom UI Editor, http://yyman.tistory.com/337, 2013.08.15 23:43

 

위의 글과 연결됩니다.

이글에서 소개하는 것은 다름이 아니라 한국어 지원이 되는 오피스 리본 에디터를 소개하고자 합니다.

 


1. OfficeRibbonEditior 4.4.2

 

OfficeRibbonEditor442.7z

 

 

이전의 포스트에서 소개하고 있는 프로그램은 한글어 지원이 되지 않습니다. 두 버전을 혼용해서 사용하시면 작업하시기에 원활히 작동될 겁니다.

 


2. 프로그래밍에서 참고해야 할 점

 

프로그램 코드로 생성할 경우에는 아래의 점을 중요하게 생각하고 작성해야 합니다.

프로시저 (control As IRibbonControl)

 

위의 내용처럼 작성해야 합니다.

반응형
728x90
300x250

[Office VBA] Custom UI Editor

 

안녕하세요. 이번에 소개할 프로그램은 마이크로소프트 오피스(이하 Microsoft Office) 문서로 작성된 Xlsm 문서, xlsx 등의 문서를
마치 프로그램 코드로 작성한 것처럼 만들어주는 프로그램 입니다.

 

마이크로소프트 오피스 문서의 구조는 크게 XML 형태로 되어 있습니다.

상단의 메뉴바를 살펴보면, 리본 메뉴가 존재합니다.

 

해당 프로그램에서는 문서 하나를 특성화된 형태로 리본 등을 커스텀(사용자 맞춤) 형태로 만들어주는 프로그램입니다.

= Good morning. The program will include Microsoft Office (Xlsm) documents, and xlsx documents
   It is a program that makes it look like it was written in program code.
= The structure of Microsoft Office documents is largely in the form of XML.
= If you look at the menu bar at the top, there is a ribbon menu.
= It is a program that makes a document into a customized form of a ribbon in a specialized form.

 


1. 프로그램 소개

 

 

Fig 1-1) Office 2007 Custom UI Editor

 

이런 형태로 된 프로그램입니다.

첨부 파일은 아래에 있습니다.

 

[첨부 / Attechment]

OfficeCustomUIEditorSetup.zip

 

위의 그림에는 마이크로소프트의 오피스 2007만 가능한 것처럼 되어 있으나 실제로 사용하면 마이크로소프트의 오피스 2010도 가능합니다.

(Office 2010 / Office 2007)

 

리본 메뉴를 엑셀 파일의 xlsx의 xml을 건들어서 조작하는 전문 프로그램입니다. 이 파일은 한국어가 지원되지 않은 버전입니다.

 

이 프로그램을 사용하고 나서 발생되는 문제에 대해서는 책임지지 않습니다.
For problems that occur after using this program it is not responsible.

 


2. 사용 방법 관련

 

사용법은 매우 간단합니다.

http://www.rondebruin.nl/win/s2/win001.htm (원본 사이트)

 

리본 이미지 번호 파일입니다.

MSO_Image_Browser.xlsm

 

리본에 관해서 전문적으로 MSDN에서 다루고 있습니다. 아래의 참고자료를 참고하시면 도움이 될 것으로 보입니다.

 


3. 참고자료(Reference)

 

1. OfficeCustomUIEditor에 관한 사항

1. http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/05/26/customuieditor.aspx, Accessed by 2013-08-15

 

2. 리본에 관한 사항

2-1. http://msdn.microsoft.com/ko-kr/library/aa338202(v=office.12).aspx, Accessed by 2013-08-15

 

반응형
728x90
300x250
[Office VBA] Excel 2013 VBA - 데이터 Refresh하기

 

안녕하세요. 이번에 소개할 것은 데이터 Refresh에 관한 것입니다.

VBA에서 아래의 코드를 작성하면 엑셀의 데이터를 전부 새로 최신화를 시킬 수 있습니다.

 


1. 예제 코드

 

Application.CalculateFullRebuild

 

이 명령어로 엑셀의 데이터를 새로 계산할 수 있습니다.

반응형
728x90
300x250
[Office VBA] Excel VBA에서 MSSQL 연동하기(Insert)

 

이번에 소개할 것은 Microsoft의 MS-SQL과 연동하는 방법에 대해서 소개하겠습니다.

간단한 예제 코드로서 사용하는 방법을 담았습니다.

 

1. 예제 코드

 

Sub UploadFromExcelToSQL()

Dim adoCN As ADODB.Connection
Dim sConnString As String
Dim sSQL As String
Dim lRow As Long, lCol As Long

sConnString = "Provider=sqloledb;Server=servername;Database=NORTHWIND;User Id=xx;Password=password"

Set adoCN = CreateObject("ADODB.Connection")

'adoCN.Open sConnString

'Assumes that you have Field1, Field2 and Field3 in columns A, B and C
'For this example we can assume that the data exists on Sheet1, with a header on row
'1 and data in rows 2-11
'Also assume that the fields are defined as character (e.g. varchar or char)
'Text values must be enclosed in apostrophes whereas numeric values should not.


For lRow = 2 To 11

    sSQL = "INSERT INTO YOUR_TABLE (FIELD1, FIELD2, FIELD3) " & _
            " VALUES (" & _
            "'" & Sheet1.Cells(lRow, 1) & "', " & _
            "'" & Sheet1.Cells(lRow, 2) & "', " & _
            "'" & Sheet1.Cells(lRow, 3) & "')"
       
    adoCN.Execute sSQL
   
       
Next lRow

adoCN.Close

Set adoCN = Nothing
 
End Sub

 

2. 예제에 사용된 라이브러리(Library)

 

 번호

 라이브러리명

 구분

 

 1

 Microsoft ActiveX Data Objects 2.x Library

 필수

 

 

 

 

 

 

반응형
728x90
300x250

[Office VBA] Access 2012 배포 라이브러리 설치파일

 

엑세스가 깔리지 않은 컴퓨터에 사용할 수 있도록 하는 엔진입니다.

사용한 운영체제는 Microsoft Windows 7(32, 64bit)입니다.

 


1. AccessDatabaseEngine 설치 소개

 

다운로드 설치 방법

  1. 다운로드 단추를 클릭하여 파일을 다운로드하고 하드 디스크에 저장합니다.
  2. 하드 디스크의 AccessDatabaseEngine.exe 프로그램 파일을 두 번 클릭하여 설치 프로그램을 시작합니다.
  3. 화면에 나타나는 지시에 따라 설치를 완료합니다.

다운로드 사용 방법

  1. 응용 프로그램 사용자의 경우 해당 응용 프로그램 설명서에서 적합한 드라이버 사용에 대한 자세한 정보를 참고합니다.
  2. OLEDB를 사용하는 응용 프로그램 개발자의 경우 ConnectionString 속성의 Provider 인수를 “Microsoft.ACE.OLEDB.12.0”으로 설정합니다.

    Microsoft Office Excel 데이터에 연결하려면 Excel 파일 형식에 따라 OLEDB 연결 문자열의 해당 Extended 속성을 추가합니다.

    파일 형식(확장명)                                             Extended 속성
    ---------------------------------------------------------------------------------------------
    Excel 97-2003 Workbook(.xls)                                  "Excel 8.0"
    Excel 2007-2010 Workbook(.xlsx)                             "Excel 12.0 Xml"
    Excel 2007-2010 매크로 사용 통합 문서(.xlsm)      "Excel 12.0 Macro"
    Excel 2007-2010 비XML 바이너리 통합 문서(.xlsb)      "Excel 12.0"

  3. ODBC를 사용해 Microsoft Office Access 데이터에 연결하는 응용 프로그램 개발자의 경우 연결 문자열을 “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”로 설정합니다.
  4. ODBC를 사용해 Microsoft Office Excel 데이터에 연결하는 응용 프로그램 개발자의 경우 연결 문자열을 “Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”로 설정합니다.

다운로드 제거 방법
다운로드 파일 자체를 제거하려면 AccessDatabaseEngine.exe 파일을 삭제합니다.

  1. 시작 메뉴에서 설정을 가리킨 다음 제어판을 클릭합니다.
  2. 프로그램 추가/제거를 두 번 클릭합니다.
  3. 현재 설치된 프로그램 목록에서 “Microsoft Access database engine 2010”를 선택한 다음 제거 또는 추가/제거를 클릭합니다. 대화 상자가 표시되면 지시에 따라 프로그램을 제거합니다.
  4. 또는 확인을 클릭하여 프로그램 제거를 확인합니다.

2. 설치 파일

 

 번호

 구분(Type)

 파일(Files)

 링크(Links)

 1

 32bit (32비트 전용)

 AccessDatabaseEngine.a00

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 2

 32bit (32비트 전용)

 AccessDatabaseEngine.a01

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 3

 32bit (32비트 전용)

 AccessDatabaseEngine.alz

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 4

 64bit (64비트 전용)

 AccessDatabaseEngine_X64.a00

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 5

 64bit (64비트 전용) 

 AccessDatabaseEngine_X64.a01

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 6

 64bit (64비트 전용)

 AccessDatabaseEngine_X64.alz

 http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

 

반응형
728x90
300x250

[OfficeVBA] Excel VBA에 MySQL 연동하기 [2편 VBA에 연동]

 

[OfficeVBA] Excel VBA에 MySQL 연동하기 [1편 odbc 설치 및 확인], http://yyman.tistory.com/314, 2013.07.28 14:40

 

1편에 이어서 계속 진행하겠습니다. 꾸벅;

 


1. 사용 방법(2탄)

 

 

Fig 1-1. ODBC 설정하기

 

1. 파란색으로 친 내용을 기억하도록 하자.

    MySQL ODBC 5.1 Driver

 

 

Fig 1-2. Excel 화면

 

2. 엑셀을 키자. Excel VBA를 실행하도록 한다. Alt + F11키

 

 

Fig 1-3. Visual Basic for Application의 도구 / 참조(R) 클릭하기

 

3. 참조를 클릭한다.

 

 

Fig 1-4. 참조 - VBAProject

 

4. Microsoft ActiveX Data Objects 6.1 Library가 있으면 6.1버전으로 선택하고,

없으면 2.8 Library를 선택한다. (낮은 Office버전을 생각한다면 2.8을 선택해도 된다.)

 

 

Fig 1-5) VisualBasic for Application 코드 작성하기

 

 

Sub MySQL연결()

Dim Conn As ADODB.Connection
Dim dbRecset As ADODB.Recordset
Dim sSQL As String

Set Conn = New ADODB.Connection


'MySQL ODBC 5.1 DRIVER 
Conn.ConnectionString = "DRIVER={아까 기억하라고 한거 적어주기};" & _
                        "SERVER=서버주소;" & _
                        "PORT=3306" & _
                        "DATABASE=DB명입력;" & _
                        "UID=사용자계정;PASSWORD=비밀번호;OPTION=3"
                       
Conn.Open

'Localhost -서버주소 실제 서버주소
'포트번호 - 일반적으로 mysql은 3306번 사용
'DB명 입력 -
'계정 입력 - 사용자ID, 비밀번호

End Sub

 

 

5. 묘듈을 하나 생성하고 이와 같이 코드를 입력한다.

 

 

Fig 1-6) Runtime 오류 출력 - Visual Basic for Application

 

6. F5을 누른다.(빌드한다.)

 

Fig 1-6에는 MySQL과 연동을 시도하였을 때, 발생되는 오류 중 하나이다.

문제의 유형에는 크게 "계정, DB, 비밀번호, 포트"의 문제일 가능성이 높다.

반응형
728x90
300x250
[OfficeVBA] Excel VBA에 MySQL 연동하기 [1편 odbc 설치 및 확인]

 

MySQL을 통해 DB를 관리하기 위해서 만든 예제입니다.

 


1. MySQL - odbc 설치

 

[첨부(Attachment)]

 

mysql-connector-odbc-5.1.8-win32.7z

mysql-connector-odbc-noinstall-5.1.8-win32.zip

 

Update 2015. 7. 22

= http://www.mysql.com에서도 다운받을 수 있습니다.



2. odbc 설정하기

 

1. 제어판 -> 시스템 및 보안 -> 관리도구 -> 데이터 원본(ODBC) 클릭

 

 

그림 1-1) Microsoft의 Windows 7 / 제어판, 시스템 및 보안, 관리 도구

 

2. 추가 클릭

 

 

그림 1-2) ODBC 데이터 원본 관리자, Microsoft ODBC 데이터 원본 관리자

 

3. MySQL ODBC 확인하기

 

 

그림 1-3) 새 데이터 원본 만들기, ODBC 데이터 원본 관리자

 

설치 여부만 확인하고 취소합니다.

셋팅할 필요는 없습니다.

 

2편에서 이어 VBA에 연동하는 방법을 소개하도록 하겠습니다.

반응형

+ Recent posts