Welcome to Our Website

시작 VBA Office

  • 08/14/2019
  • 25 분 읽
    • o
    • R
    • L
    • m
    • O
    • +4

은 당신이 직면하고 반복적인 정의 테이블에 있어? 특정 문서가 열리면 사용자에게 입력을 묻는 메시지를 표시 하시겠습니까?, 당신은 어려움이 효율적으로 마이크로 소프트 엑셀 스프레드 시트로 마이크로 소프트 아웃룩에서 연락처를 얻는 방법을 알아내는 데 있습니까?

이러한 작업을 수행할 수 있습과 큰 거래를 수행를 사용하여 더 Visual Basic(VBA)for Office—는 간단하지만,강력한 프로그래밍 언어를 사용할 수 있는 확장하는 사무실용됩니다.

이 문서는 경험한 사무실용자에 대해 배우고 싶 VBA 고자 원하는 대한 통찰력 어떻게 프로그래밍할 수 있는 데 도움이 그들에게 사용자 정의 사무실입니다.

응용 프로그램의 오피스 제품군은 기능의 풍부한 세트가 있습니다., 많은 다른 방법으로 저자,형식 및 조작 문서,전자 메일,데이터베이스 형태로,스프레드시트 및 프리젠테이션 의 위대한 힘 VBA 프로그래밍에 사무실이 거의 모든 작업을 수행할 수 있습으로 마우스,키보드,또는 대화 상자를 수행할 수도 있습을 사용하여 VBA. 또한 VBA 로 한 번 할 수 있다면 100 번 쉽게 할 수 있습니다. (사실,반복적 인 작업의 자동화는 사무실에서 VBA 의 가장 일반적인 용도 중 하나입니다.,)

의 힘을 넘어 스크립트 VBA 을 가속화 하는 작업을 사용할 수 있습니다 VBA 새로운 기능을 추가하여 사무실용 또는 신속하고 사용자와 상호 작용의 문서에서 관련성을 높일 수 있는 방식으로 비즈니스 요구에 맞게 설정합니다. 예를 들어,당신은 당신이 쓸 수 있는 몇 가지 VBA 코드를 표시하는 팝업 메시지가 생각나는 사용자 문서를 저장해 특별한 네트워크 드라이브는 첫번째로 그들이 하려고 저장합니다.

이 기사에서는 VBA 프로그래밍의 힘을 활용하는 주요 이유 중 일부를 살펴 봅니다., 그것은 vba 언어와 당신이 당신의 솔루션과 함께 작동하는 데 사용할 수있는 아웃-오브-박스 도구를 탐구한다. 마지막으로 몇 가지 일반적인 프로그래밍 좌절감과 잘못하면 피할 수있는 몇 가지 팁과 방법이 포함되어 있습니다.

참고.

에 관심이 있는 솔루션을 개발하고 확장하는 사무실에서의 경험을 여러 플랫폼? 새 Office 추가 기능 모델을 확인하십시오. Office 추가 기능은 작은 공간에 비해 추가 기능 및 솔루션을 구축할 수 있을 사용하여 그들의 거의 모든 웹 프로그래밍 기술과 같은 HTML5,JavaScript,CSS3,XML.,

언제 VBA 를 사용하고 왜

사무실에서 VBA 프로그래밍을 고려해야 할 몇 가지 주요 이유가 있습니다.

자동화 및 반복

VBA 는 효과적이고 효율적인에 올 때는 반복적인 솔루션을 포맷하거나 수정 문제입니다. 예를 들어 Word 의 각 페이지 상단에있는 단락의 스타일을 변경 한 적이 있습니까? Excel 에서 word 문서 또는 Outlook 전자 메일로 붙여 넣은 여러 테이블을 다시 포맷해야했던 적이 있습니까? 여러 Outlook 연락처에서 동일한 변경을해야했던 적이 있습니까?,

10 번 이상 또는 20 번 이상해야 할 변경 사항이 있으면 VBA 로 자동화하는 것이 가치가있을 수 있습니다. 수백 번해야 할 변화라면 확실히 고려할 가치가 있습니다. 손으로 할 수있는 거의 모든 서식 또는 편집 변경은 VBA 에서 수행 할 수 있습니다.

사용자 상호 작용 확장

있는 시간하도록 유도해야 하는 경우 또는 강요하는 사용자와 상호 작용하는 사무실용 또는 문서 특정하지 않는 방법으로 표준의 일부 응용 프로그램., 예를 들어,사용자가 문서를 열거 나 저장하거나 인쇄 할 때 특정 조치를 취하라는 메시지를 표시 할 수 있습니다.

Office 응용 프로그램 간의 상호 작용

Outlook 에서 Word 로 모든 연락처를 복사 한 다음 특정 방식으로 서식을 지정해야합니까? 또는 Excel 에서 powerpoint 슬라이드 세트로 데이터를 이동해야합니까? 때로는 간단한 복사 및 붙여 넣기가 원하는 것을하지 않거나 너무 느립니다., 당신이 사용할 수 있습 VBA 프로그램과 상호 작용하는 정보의 두 개 이상의 사무실 어플리케이션을 동시에 다음의 내용을 변경하십시에 하나는 응용 프로그램 내용에 따라 다릅니다.

일을 다른 방법으로

VBA 프로그래밍은 강력한 솔루션이지만 항상 최적의 접근 방식은 아닙니다. 때로는 목표를 달성하기 위해 다른 방법을 사용하는 것이 합리적입니다.질문해야 할 중요한 질문은 더 쉬운 방법이 있는지 여부입니다. VBA 프로젝트를 시작하기 전에 기본 제공 도구 및 표준 기능을 고려하십시오., 예를 들어,만약 당신이 시간이 많이 소요되는 편집 또는 레이아웃 작업을 고려하는 스타일을 사용하거나 단축키로 문제를 해결합니다. 작업을 한 번 수행 한 다음 CTRL+Y(다시 실행)를 사용하여 반복 할 수 있습니까? 올바른 형식이나 템플릿으로 새 문서를 만든 다음 해당 새 문서에 내용을 복사 할 수 있습니까?

Office 응용 프로그램은 강력합니다.필요한 솔루션이 이미있을 수 있습니다. 시간을내어 프로그래밍에 뛰어 들기 전에 Office 에 대해 자세히 알아보십시오.VBA 프로젝트를 시작하기 전에 VBA 로 작업 할 시간이 있는지 확인하십시오., 프로그래밍에는 초점이 필요하며 예측할 수 없습니다. 특히 초보자로서 신중하게 작업 할 시간이 없다면 프로그래밍으로 전환하지 마십시오. 쓰려고”빠른 스크립트는”문제를 해결하는 경우 마감 직 수 있는 결과에서 아주 스트레스 상황이다. 급한 경우 단조롭고 반복적 인 경우에도 기존의 방법을 사용하는 것이 좋습니다.

VBA 프로그래밍 101

코드를 사용하여 응용 프로그램이 일을 만

고 생각 할 수 있는 코드를 작성하는 것은 어려운,그러나 기본적인 원리를 사용하여 모든 일을 추론하고 있는 아주 액세스할 수 있습니다., Microsoft Office 응용 프로그램이 자동으로 만들어지는 그런 방법으로 드러내는 일이라는 개체를 받을 수 있는 지침에서는 많은 동일한 방식으로 휴대폰 디자인 버튼 사용할과 상호 작용하는 전화입니다. 버튼을 누르면 전화기가 지시를 인식하고 전화를 거는 순서에 해당하는 번호를 포함합니다. 프로그래밍에서는 응용 프로그램의 다양한 객체에 지침을 보내 응용 프로그램과 상호 작용합니다. 이 물체들은 광대하지만 한계가 있습니다., 그들은 그들이하도록 설계된 것만을 할 수 있으며,당신이 그들에게 지시하는 것만을 할 것입니다.

예를 들어 Word 에서 문서를 열고 몇 가지 변경을 한 다음 문서를 저장 한 다음 닫는 사용자를 생각해보십시오. VBA 프로그래밍의 세계에서 Word 는 문서 객체를 노출합니다. VBA 코드를 사용하여 문서 객체에 열기,저장 또는 닫기와 같은 작업을 수행하도록 지시 할 수 있습니다.

다음 섹션에서는 객체가 어떻게 구성되고 설명되는지에 대해 설명합니다.,

객체 모델

개발자가 구성 프로그래밍의 개체 계층 구조는 계층 구조 개체 모델이라고 합니다. 예를 들어 Word 에는 문서 개체가 포함 된 최상위 응용 프로그램 개체가 있습니다. 문서 객체에는 단락 객체 등이 포함되어 있습니다. 객체 모델은 사용자 인터페이스에서 보는 것을 대략 미러링합니다. 그것들은 응용 프로그램과 그 기능의 개념적지도입니다.객체의 정의를 클래스라고하므로이 두 용어가 상호 교환 적으로 사용되는 것을 볼 수 있습니다., 기술적으로 클래스는 객체를 만들거나 인스턴스화하는 데 사용되는 설명 또는 템플릿입니다.객체가 존재하면 속성을 설정하고 메소드를 호출하여 조작 할 수 있습니다. 객체를 명사로 생각하면 속성은 명사를 설명하는 형용사이고 메서드는 명사를 애니메이션으로 만드는 동사입니다. 속성을 변경하면 개체의 모양이나 동작의 일부 품질이 변경됩니다. 객체 메소드 중 하나를 호출하면 객체가 일부 작업을 수행하게됩니다.,

VBA 코드에서는 이 문서를 실행에 대한 열 Office 응용 프로그램의 많은 개체는 코드를 조작하는 이미 실행;예를 들어,응용 프로그램 자체에서 워크시트 Excel,Word 문서에서 프레젠테이션에 파워 포인트,그리고 탐색기 폴더체에서 Outlook. 일단 당신의 기본 레이아웃은 객체 모델과 몇 가지 핵심 속성에의 응용 프로그램에 대한 액세스를 제공의 현재 상태를 시작할 수 있습니다 확장하고 조작하는 사무실용으로 VBA Office.,

방법

단어,예를 들어,특성을 변경할 수 있습니다 호출 방법들을 통해 현재 사용하여 Word 문서의 ActiveDocument 속성을 응용 프로그램 개체입니다. 이 ActiveDocument 속성은 Word 응용 프로그램에서 현재 활성화 된 문서 개체에 대한 참조를 반환합니다. “에 대한 참조를 반환”의미”에 대한 액세스를 제공합니다.”

다음 코드는 정확히 무엇을 말합니까;즉,응용 프로그램에 활성 문서를 저장합니다.,

Application.ActiveDocument.Save

코드를 읽고,왼쪽에서 오른쪽”이 응용 프로그램,문서와 참조 ActiveDocument,호출을 저장 방법입니다.”저장 방법의 가장 간단한 형태임을 유의하십시오;그것은 당신에게서 자세한 지침을 필요로하지 않습니다. 당신은 저장 문서 개체를 지시하고 그것은 당신에게서 더 이상 입력을 필요로하지 않습니다.메서드에 더 많은 정보가 필요한 경우 해당 세부 정보를 매개 변수라고합니다. 다음 코드는 파일의 새 이름이 필요한 SaveAs 메서드를 실행합니다.,

Application.ActiveDocument.SaveAs ("New Document Name.docx")

값을 나열 뒤에 괄호 안에 메서드 이름이 매개 변수입니다. 여기서 파일의 새 이름은 SaveAs 메소드의 매개 변수입니다.

속성

속성을 읽는 데 사용하는 속성을 설정하는 데 동일한 구문을 사용합니다. 다음 코드는 Excel 에서 셀 A1 을 선택한 다음 해당 셀에 무언가를 넣을 속성을 설정하는 메소드를 실행합니다.

 Application.ActiveSheet.Range("A1").Select Application.Selection.Value = "Hello World"

첫 번째 도전에 VBA 프로그래밍은 느낌을 얻을 위한 객체 모델의 각 Office 응용 프로그램과 객체를 읽,방법,속성문입니다., 객체 모델은 모든 오피스 애플리케이션에서 유사하지만 각각은 조작하는 문서 및 객체의 종류에 따라 다릅니다.

에서 첫 번째 라인의 코드 조각,거기 응용 프로그램 개체,Excel 이 시간,그리고 다음 ActiveSheet 에 대한 액세스를 제공하는 활성 워크시트를 참조하십시오. 그 후 익숙하지 않은 용어입니다,범위,이는”이 방법으로 세포의 범위를 정의합니다.”이 코드는 Range 가 정의 된 셀 세트로 A1 만 사용하여 자신을 만들도록 지시합니다. 즉,코드의 첫 번째 줄은 객체 인 범위를 정의하고 그것에 대해 메소드를 실행하여 선택합니다., 결과는 선택이라는 응용 프로그램의 다른 속성에 자동으로 저장됩니다.

두 번째 코드 줄은 선택의 값 속성을 텍스트”Hello World”로 설정하고 해당 값은 셀 A1 에 나타납니다.

작성하는 가장 간단한 VBA 코드는 작업중인 Office 응용 프로그램의 객체에 간단히 액세스하여 속성을 설정할 수 있습니다. 예를 들어 word 에서 테이블의 행에 대한 액세스 권한을 얻고 VBA 스크립트에서 서식을 변경할 수 있습니다.,

는 간단하게 들리지만,그것은 매우 유용할 수 있습;일단 당신이 쓸 수 있는 코드를 활용할 수 있는 모든 힘을 만들고 프로그래밍을 그와 같은 변화에서 여러 테이블 또는 문서 또는 그 일부에 따라 논리 또는 상태입니다. 컴퓨터를 만들고,1000 변경 내용과 다르지 않 10 만들기,그래서 거기에는 규모의 경제와 여기에 더 큰 문서 및 문제,그리고 어디에 VBA 수 있습니다 정말 빛을 사용하면 시간이 절감됩니다.,

매크로를 Visual Basic 편집기

이러한 정보를 바탕으로 하여 실제로는 방법에 대해 Office 응용 프로그램 자체 모델을 살펴보 객체 방법을 설정체성,그리고 응답하는 개체의 이벤트입니다. 그렇게해야 합 쓰는 코드에서는 방식으로 사무실을 이해할 수 있는 일반적으로 사용하여,Visual Basic 편집기입니다. 기본적으로 설치되지만 많은 사용자는 리본에서 활성화 될 때까지 사용 가능하다는 것을 알지 못합니다.

모든 사무실 응용 프로그램은 리본을 사용합니다., 리본의 한 탭은 Visual Basic Editor 및 기타 개발자 도구에 액세스하는 개발자 탭입니다. 기 때문에 사무실을 표시하지 않는 개발자 탭이 기본적으로 활성화해야 합니다 그것을 사용하여 다음 절차를 따르십시오.

사용자 탭

  1. 파일 탭에서 옵션을 선택하려면 옵션 대화 상자입니다.

  2. 대화 상자의 왼쪽에서 리본 사용자 지정을 선택합니다.

  3. 대화 상자의 왼쪽에있는 명령 선택에서 인기있는 명령을 선택하십시오.,

  4. 사용자 지정에서는 리본의 오른쪽에 있는 대화상자 선택 기본 탭에서 드롭 다운 목록 상자를 선택한 다음 개발자는 확인란을 선택합니다.

  5. 확인을 선택합니다.

참고.

오피스 2007 에서,당신은 표시되는 개발자 탭을 선택하여 사무실 버튼 옵션을 선택하고 다음을 선택하여 개발자 탭에서는 리본 메뉴에 있는 확인란의 인기있는 카테고리의 옵션 대화 상자입니다.

개발자 탭을 활성화 한 후에는 Visual Basic 및 Macros 버튼을 쉽게 찾을 수 있습니다.

그림 1., 버튼에는 개발자 탭

보안 문제

를 보호하는 사용자 바이러스에 대한 위험한 매크로 코드를 저장할 수는 없습에서 매크로 코드를 표준 Office 문서를 사용하는 표준이 파일 확장자가 있습니다. 대신 특수 확장자를 가진 파일에 코드를 저장해야합니다. 예를 들어 a 와 함께 표준 Word 문서에 매크로를 저장할 수 없습니다.docx 확장;대신,당신은 특별한 단어 매크로 사용 문서를 사용해야합니다.docm 확장.

열 때 a.,docm 파일,Office security 는 여전히 문서의 매크로가 실행되지 않도록 할 수 있습니다. 모든 Office 응용 프로그램에서 트러스트 센터의 설정 및 옵션을 검사하십시오. 기본 설정은 매크로에서 실행 중이지만 경고하는 매크로를 사용할 수 없는 옵션을 제공합니다면 해당 프로그램을 다시 시작하는 대한 문서입니다.

할 수 있는 특정 폴더를 지정 매크로를 실행할 수 있습을 작성하여 신뢰할 수 있는 위치,신뢰할 수 있는 문서 또는 신뢰할 수 있는 출판사., 가장 이식 가능한 옵션은 배포하는 디지털 서명 된 문서와 함께 작동하는 신뢰할 수있는 게시자를 사용하는 것입니다. 에 대한 자세한 정보는 보안 설정에서 특정한 사무실용,옵션 대화 상자를 선택안 센터,그리고 그런 다음 보안 센터 설정을 선택합니다.

참고.

어떤 사무용 응용 프로그램을 다음과 같 Outlook,저장 매크로에 기본적으로 마스터 템플릿에는 로컬 컴퓨터에서 수행됩니다., 비록 하는 전략을 줄여 로컬 보안 문제는 자신의 컴퓨터에서 실행할 때 자신의 매크로,그것은 필요한 배포 전략을 당하고 싶어 배포됩니다.

매크로 기록

경우 당신은 매크로를 선택 버튼이 개발자 탭에서 열 매크로 대화 상자에 대한 액세스를 제공하는 VBA 서브 루틴이나 매크로에서 액세스할 수 있는 특정 문서 또는 응용 프로그램입니다. Visual Basic 버튼을 누르면 Vba 코드를 만들고 편집하는 Visual Basic 편집기가 열립니다.,

또 다른 버튼을 개발 탭 Word 및 Excel 은 매크로 기록 버튼을 자동으로 생성 VBA 할 수 있는 코드를 재현하는 작업을 수행합니다. Record Macro 는 VBA 에 대해 자세히 알아 보는 데 사용할 수있는 훌륭한 도구입니다. 생성 된 코드를 읽으면 VBA 에 대한 통찰력을 얻을 수 있으며 사용자로서의 Office 지식과 프로그래머로서의 지식 사이에 안정적인 다리를 제공 할 수 있습니다., 주의해야 할 점은 생성된 코드의 복잡할 수 있기 때문에 매크로 편집기의해야 어떤 가정에 대 한 당신의 의도,그리고 그러한 가정은 반드시 정확한 것은 아니다.

매크로를 기록하려면

  1. Excel 을 새 통합 문서에 열고 리본에서 개발자 탭을 선택하십시오. 선택 매크로 기록하고 받아들이는 모든 기본 설정에서 매크로 기록을 대화 상자를 포함하여,Macro1 의 이름으로 매크로와 같이 이 통합 문서의 위치에 있습니다.

  2. 매크로 기록을 시작하려면 확인을 선택합니다. 버튼 텍스트가 녹화를 중지하도록 변경되는 방법에 유의하십시오., 녹음하려는 작업을 완료하는 즉시 해당 버튼을 선택하십시오.

  3. 셀 B1 을 선택하고 프로그래머의 고전적인 첫 번째 문자열 인 Hello World 를 입력하십시오. 중 입력하고 기록을 중지 버튼,그것은 회색으로 표시되므로 엑셀은 당신을 기다리고 있을 입력을 완료입니다.

  4. 셀 B2 를 선택하여 셀 B1 에서 작업을 완료한 다음 녹음 중지를 선택합니다.

  5. 선택하는 매크로 개발자 탭에서 선택 Macro1 선택하지 않은 경우,편집을 선택합을 보려면서 Macro1 의 코드 Visual Basic 편집기입니다.,

그림 2. 매크로 코드에 기본 편집기

보드

이 매크로 생성과 유사해야 합 다음과 같은 코드입니다.

Sub Macro1()'' Macro1 Macro'' Range("B1").Select ActiveCell.FormulaR1C1 = "Hello World" Range("B2").SelectEnd Sub

셀 A1 에서 텍스트를 선택한 이전 코드 스 니펫과의 유사점과 차이점을 알고 있어야합니다. 이 코드에서 셀 B1 을 선택한 다음 문자열”Hello World”가 활성화 된 셀에 적용됩니다. 텍스트 주위의 따옴표는 숫자 값과 반대로 문자열 값을 지정합니다.,

녹음 중지 버튼을 다시 표시하기 위해 셀 B2 를 어떻게 선택했는지 기억하십니까? 그 작업뿐만 아니라 코드 라인으로 표시됩니다. 매크로 레코더는 모든 키 입력을 기록합니다.

라인의 코드로 시작하는 아포스트로피와 녹색하여 편집인은 의견을 설명하는 코드 또는 당신을 생각 나게와 다른 프로그래머의 목적은 코드입니다. VBA 는 작은 따옴표로 시작하는 줄 또는 줄의 일부를 무시합니다. 코드에 명확하고 적절한 주석을 작성하는 것은 중요한 주제이지만 그 토론은이 기사의 범위를 벗어납니다., 이 기사에서이 코드에 대한 후속 참조에는 네 개의 주석 줄이 포함되어 있지 않습니다.

매크로 레코더가 코드를 생성하면 복잡한 알고리즘을 사용하여 의도 한 메소드와 속성을 결정합니다. 주어진 속성을 인식하지 못하면 도움을 줄 수있는 많은 리소스가 있습니다. 예를 들어,기록한 매크로에서 매크로 레코더는 FormulaR1C1 속성을 참조하는 코드를 생성했습니다. 그게 무슨 뜻인지 잘 모르십니까?

참고

응용 프로그램 객체가 모든 VBA 매크로에 암시되어 있음을 유의하십시오., 기록한 코드는 응용 프로그램과 함께 작동합니다. 각 줄의 시작 부분에.

개발자 도움말 사용

기록 된 매크로에서 FormulaR1C1 을 선택하고 F1 을 누릅니다. 도움말 시스템 빠른 검색을 실행을 결정하는 해당 과목에서 Excel 개발자의 섹션을 Excel 도움말 목록 FormulaR1C1 을 제공합니다. 당신이 선택할 수 있습에 대한 링크를 속성에 대한 자세한 정보,하지만 당신이 전에,알고 있어야 엑셀체 모델 참조 링크를 아래쪽의 창입니다., Excel 이 해당 개체 모델에서 워크시트와 해당 구성 요소를 설명하기 위해 사용하는 개체의 긴 목록을 보려면 링크를 선택합니다.

중 어느 하나를 선택한 이들의 특성을 표시하고 방법이 적용되는 특정 개체와 함께 십자가에 대한 참조 다른 관련 옵션이 있습니다. 많은 도움말 항목에는 도움이 될 수있는 간단한 코드 예제도 있습니다. 예를 들어 Borders 개체의 링크를 따라 vba 에서 테두리를 설정하는 방법을 확인할 수 있습니다.

Worksheets(1).Range("A1").Borders.LineStyle = xlDouble

코드 편집

국경 코드는 다른 기록된 매크로입니다., 객체 모델과 혼동 될 수있는 한 가지는이 예제에서 주어진 객체 인 셀 A1 을 다루는 방법이 하나 이상 있다는 것입니다.

때로는 최상의 방법으로 프로그래밍을 배우게 작은 변화를 일부 작동 코드고 무슨 일이 일어나로 결과입니다. 지금 사용해보십시오. Visual Basic 편집기에서 Macro1 을 열고 코드를 다음과 같이 변경하십시오.

Sub Macro1() Worksheets(1).Range("A1").Value = "Wow!" Worksheets(1).Range("A1").Borders.LineStyle = xlDoubleEnd Sub

사용을 복사하여 붙여넣기를 할 때 가능한 작업을 피하기 위해 코드를 입력 오류가 있습니다.,시험해보기 위해 코드를 저장할 필요가 없으므로 Excel 문서로 돌아가서 개발자 탭에서 매크로를 선택하고 Macro1 을 선택한 다음 실행을 선택하십시오. 셀 A1 은 이제 와우 텍스트가 포함되어 있습니다! 그리고 그 주위에 이중 선 테두리가 있습니다.

그림 3. 결과 당신의 첫 번째 매크로

당신은 결합된 매크로 기록을 읽고,물체 모델명서,간단한 프로그래밍을 VBA 프로그램으로는 뭔가 않습니다. 축하합니다!

작동하지 않았습니까? Vba 에서 디버깅 제안에 대해 읽어보십시오.,

프로그래밍 팁과 트릭

으로 시작 예

VBA 사회는 매우 큰;웹 검색할 수 있는 거의 항상 수율의 예 VBA 코드는 유사한 무언가를 당신이 원하는 무엇을 할 수 있다. 좋은 예를 찾을 수 없다면 작업을 더 작은 단위로 분해하고 그 각각을 검색하거나 더 일반적이지만 비슷한 문제를 생각하려고합니다. 예제로 시작하면 몇 시간의 시간을 절약 할 수 있습니다.그렇다고해서 자유롭고 잘 생각한 코드가 웹에 있다는 의미는 아닙니다., 사실,찾은 코드 중 일부는 버그 나 실수가있을 수 있습니다. 아이디어는 당신이 온라인 또는 VBA 문서에서 찾을 수있는 예는 당신에게 머리 시작을 제공한다는 것입니다. 프로그래밍을 배우려면 시간과 생각이 필요하다는 것을 기억하십시오. 를 얻기 전에 큰 러시에 사용하는 다른 솔루션을,당신의 문제를 해결하기 위해 묻는지 여부를 VBA 을 위해 올바른 선택 이 문제를 해결합니다.

더 간단한 문제 만들기

프로그래밍은 빠르게 복잡해질 수 있습니다. 그것은 중요한,특히 초보자로서,당신은 휴식으로 문제를 가능한 가장 작은 논리 단위로,다음 쓰기 테스트 각각에서 격리됩니다., 당신 앞에 너무 많은 코드가 있고 혼란 스럽거나 뒤죽박죽이 생기면 문제를 멈추고 따로 설정하십시오. 당신이 돌아올 때 문제,사본을 밖으로 작은 조각의 문제로 새로운 모듈을 해결하는 것을 조각의 코드 작업 및 테스트가 작동하는지 확인하십시오. 그런 다음 다음 부분으로 넘어갑니다.

버그 및 디버깅

두 가지 주요 형태의 프로그래밍 오류를 구문 오류는 침해의 문법 규칙은 프로그래밍 언어,그리고 실행시 오류,보이는 구문으로 올바른지만,실패할 경우 VBA 를 실행하려고 시도하는 코드입니다.,

지만 그들은 실망할 수 있습 해결하기 위해,구문 오류는 쉽게 Visual 악에서 당신이 경우에 당신은 유형의 구문 오류는 당신의 코드입니다.

예를 들어 문자열 값은 VBA 에서 큰 따옴표로 둘러싸여 야합니다. 대신 작은 따옴표를 사용할 때 어떤 일이 발생하는지 알아 보려면 Visual Basic 편집기로 돌아가서”와우!”코드 예제의 문자열’와우!'(즉,작은 따옴표로 묶인 단어 와우). 다음 줄을 선택하면 Visual Basic 편집기가 반응합니다., 는 오류”컴파일러:예:식”하지 않는 것이 도움이지만,라인을 생성하는 오류가 빨간색으로 변하는 것을 말할 수 있는 구문 오류는 라인과 결과로,이 프로그램이 실행되지 않습니다.

확인을 선택하고 텍스트를 다시”와우!”.

런타임 오류는 프로그래밍 구문이 올바르게 보이기 때문에 잡기가 더 어렵지만 vba 가 실행하려고 할 때 코드가 실패합니다.,

예를 들어,Visual Basic 편집기와 값을 변경 속성 이름을 ValueX 에서 당신의 매크로,의도적으로 소개 런타임 오류가 이후 범위 객체지 않 라고 하는 속성을 ValueX. Excel 문서로 돌아가서 매크로 대화 상자를 열고 Macro1 을 다시 실행하십시오. 텍스트와 함께 런타임 오류를 설명하는 Visual Basic 메시지 상자가 표시되어야합니다.”Object 는 메서드의이 속성을 지원하지 않습니다.”해당 텍스트가 명확하지만 디버그를 선택하여 자세한 내용을 확인하십시오.,

Visual Basic 편집기로 돌아 가면 노란색 강조 표시를 사용하여 실패한 코드 줄을 표시하는 특수 디버그 모드입니다. 예상대로 ValueX 속성을 포함하는 줄이 강조 표시됩니다.

을 변경할 수 있습니다 VBA 코드를 실행하는,그래서 변경 ValueX 다시 가치와 선택의 작은 녹색을 재생 버튼을 아래에 디버깅 메뉴입니다. 프로그램이 정상적으로 다시 실행되어야합니다.더 길고 복잡한 프로그램을 위해 디버거를보다 의도적으로 사용하는 방법을 배우는 것이 좋습니다., 최소 배우고,설정하는 방법을 휴지에 실행할 지점을 살펴 코드를 추가하는 방법을 참의 값을 다른 변수와 특성으로 코드를 실행하는 방법과 코드를 단계별로 라인에 의해 라인입니다. 이러한 옵션은 모두 디버그 메뉴에서 사용할 수 있으며 심각한 디버거 사용자는 일반적으로 첨부 된 키보드 단축키를 암기합니다.,

를 사용하여 참조 자료 잘

열어 개발자를 참조 기본 제공되는 Office 도움말 도움말을 참조에서 어떤 사무실 응용 프로그램을 선택하여 질문을 마크 리본 메뉴에서 또는 F1. 그런 다음 검색 버튼의 오른쪽에있는 드롭 다운 화살표를 선택하여 내용을 필터링하십시오. 개발자 참조를 선택합니다. 왼쪽 패널에 목차가 보이지 않으면 작은 책 아이콘을 선택하여 연 다음 거기에서 개체 모델 참조를 확장합니다.

그림 5., 개발자 도움말 필터링에 적용되는 모든 Office 응용 프로그램

소요되는 시간을 탐색체 모델 참조 지급합니다. Vba 구문의 기본 사항과 작업중인 Office 응용 프로그램의 개체 모델을 이해 한 후에는 추측에서 체계적인 프로그래밍으로 진행합니다.

물론 Microsoft Office 개발자 센터는 기사,팁 및 커뮤니티 정보를위한 훌륭한 포털입니다.,

찾기 포럼 및 그룹

모든 프로그래머 박히는 때때로,심지어 읽은 후에는 모든 참조 문서를 찾을 수 있습니다 잃고 밤에 잠에 대해 생각하고 다른 방법으로 문제를 해결하기 바랍니다. 다행히도 인터넷은 서로 프로그래밍 문제를 해결하는 데 도움이되는 개발자 커뮤니티를 육성했습니다.

“office developer forum”에 대한 웹상의 모든 검색은 여러 토론 그룹을 보여줍니다. 검색할 수 있습니다”사이트”또는 설명의 문제 발견하는 포럼,블로그 게시물과 기사뿐만 아니라.,문제를 해결하기 위해 할 수있는 모든 일을했다면 개발자 포럼에 질문을 게시하는 것을 두려워하지 마십시오. 이 포럼은 최신 프로그래머의 게시물을 환영하며 숙련 된 개발자 중 많은 사람들이 기꺼이 도와 드리겠습니다.

다음과 같은 몇 가지 포인트의 티켓을 따르는 게시하는 경우에는 개발자 포럼:

  • 게시하기 전에 사트에 대한 FAQ 또는 지침을 구성원이 당신을 따릅니다. 해당 지침과 일치하는 콘텐츠를 게시하고 포럼의 올바른 섹션에 있는지 확인하십시오.,

  • 포함한 명확하고 완전한 코드 샘플 및 고려한 편집하는 코드를 명확히 다른 사람을 위해 그것의 일부인 경우에는 더 이상의 섹션 코드입니다.

  • 문제를 설명하 명확하고 간결하게 요약해 모든 단계가 있는지가 문제를 해결합니다. 당신이 흐트러 뜨리거나 서둘러 특히,뿐만 아니라 당신이 할 수있는 게시물을 작성하는 시간을 가져 가라. 독자들에게 문제 진술을 처음 읽을 때 이해가되는 방식으로 상황을 제시하십시오.

  • 예의 바르고 감사를 표하십시오.,

더가 프로그램

이 문서는 짧은 만 VBA 및 프로그래밍,그것은 희망이를 충분히 당신을 얻을 시작했다.

이 섹션에서는 몇 가지 주요 주제에 대해 간략하게 설명합니다.

변수

이 기사의 간단한 예제에서는 응용 프로그램이 이미 만든 객체를 조작했습니다. 을 만들려고 할 수 있습니다 당신의 자신의 값을 저장하는 개체를 또는 다른 개체에 대한 참조를 위해 임시로 사용하기에서 당신의 응용 프로그램입니다. 이를 변수라고합니다.,

VBA 에서 변수를 사용하려면 Dim 문을 사용하여 변수가 나타내는 객체 유형을 VBA 에 알려야합니다. 그런 다음 해당 값을 설정하고 다른 변수 또는 속성을 설정하는 데 사용합니다.

 Dim MyStringVariable As String MyStringVariable = "Wow!" Worksheets(1).Range("A1").Value = MyStringVariable

분기 및 반복

간단한 프로그램을 이 문서에서 실행 에서는 한 번에 한 줄 위에서 아래로. 실제에 있는 힘 프로그램에서 제공하는 옵션을 결정하는 라인의 코드를 실행에 기초하여,하나 이상의 조건을 지정합니다. 작업을 여러 번 반복 할 수있을 때 이러한 기능을 더욱 확장 할 수 있습니다., 예를 들어 다음 코드는 Macro1 을 확장합니다.

Visual Basic 편집기에 코드를 입력하거나 붙여 넣은 다음 실행하십시오. 나타나는 메시지 상자의 지시에 따라 셀 A1 의 텍스트를 와우에서 변경하십시오! 예에! 그리고 루핑의 힘을보기 위해 다시 실행하십시오. 이 코드 조각은 변수,분기 및 루핑을 보여줍니다. 당신이 행동에서 그것을 본 후에 그것을주의 깊게 읽고 각 줄이 실행됨에 따라 어떤 일이 일어나는지 결정하려고 노력하십시오.

내 모든 Office 응용 프로그램:예제 코드

다음은 시도 할 몇 가지 스크립트입니다.,

의 이메일을 생성 Outlook

Sub MakeMessage() Dim OutlookMessage As Outlook.MailItem Set OutlookMessage = Application.CreateItem(olMailItem) OutlookMessage.Subject = "Hello World!" OutlookMessage.Display Set OutlookMessage = NothingEnd Sub

있다는 것을 알고 있는 상황에서는 자동화할 수 있습 이메일 Outlook;템플릿을 사용할 수 있습니다.

삭제를 빈에서 행 Excel worksheet

것을 알고 선택할 수 있습의 열 세포 이 매크로를 실행하면 모든 행 삭제를 선택한 열에 비어 있는 세포입니다.

삭제를 빈 텍스트 상자에서 PowerPoint

Sub RemoveEmptyTextBoxes() Dim SlideObj As Slide Dim ShapeObj As Shape Dim ShapeIndex As Integer For Each SlideObj In ActivePresentation.Slides For ShapeIndex = SlideObj.Shapes.Count To 1 Step -1 Set ShapeObj = SlideObj.Shapes(ShapeIndex) If ShapeObj.Type = msoTextBox Then If Trim(ShapeObj.TextFrame.TextRange.Text) = "" Then ShapeObj.Delete End If End If Next ShapeIndex Next SlideObjEnd Sub

이 코드는 루프를 통해 모든 슬라이드 및 삭제 모든 텍스트 상자가 없는 텍스트입니다., Count 변수는 코드가 객체를 삭제할 때마다 컬렉션에서 해당 객체를 제거하여 카운트를 줄이기 때문에 증가 대신 감소합니다.

사본을 연락처 Outlook Word

Sub CopyCurrentContact() Dim OutlookObj As Object Dim InspectorObj As Object Dim ItemObj As Object Set OutlookObj = CreateObject("Outlook.Application") Set InspectorObj = OutlookObj.ActiveInspector Set ItemObj = InspectorObj.CurrentItem Application.ActiveDocument.Range.InsertAfter (ItemObj.FullName & " from " & ItemObj.CompanyName)End Sub

이 코드를 복사하고 현재 열려 있는 연락처 Outlook 로 Word 문서입니다. 이 코드는 Outlook 에서 검사를 위해 현재 열려있는 연락처가있는 경우에만 작동합니다.

지원 및 피드백

Office VBA 또는이 문서에 대한 질문이나 의견이 있으십니까?, 지원을 받고 피드백을 제공 할 수있는 방법에 대한 지침은 Office VBA 지원 및 피드백을 참조하십시오.피>

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다