Office 프로젝트의 개체에 전역 액세스

업데이트: 2010년 5월

문서 수준 프로젝트를 만들면 프로젝트에 Globals라는 클래스가 자동으로 생성됩니다. 프로젝트의 어느 코드에서나 런타임에 Globals 클래스를 사용하여 다른 프로젝트 항목에 액세스할 수 있습니다.

적용 대상: 이 항목의 정보는 Microsoft Office 2010 및 2007 Microsoft Office system의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Globals 클래스를 사용하는 방법

Globals는 프로젝트의 특정 항목에 대한 참조를 보관하는 정적 클래스입니다. Globals 클래스를 사용하면 런타임에 프로젝트 내의 모든 코드에서 다음과 같은 항목에 액세스할 수 있습니다.

  • Excel 통합 문서 또는 서식 파일 프로젝트의 ThisWorkbook 및 Sheetn 클래스. Globals.ThisWorkbook 및 Sheetn 속성을 사용하여 이러한 개체에 액세스할 수 있습니다.

  • Word 문서 또는 서식 파일 프로젝트의 ThisDocument 클래스. Globals.ThisDocument 속성을 사용하여 이 개체에 액세스할 수 있습니다.

  • 응용 프로그램 수준 프로젝트의 ThisAddIn 클래스. Globals.ThisAddIn 속성을 사용하여 이 개체에 액세스할 수 있습니다.

  • 리본 디자이너를 사용하여 사용자 지정한 프로젝트의 모든 리본 메뉴. Globals.Ribbons 속성을 사용하여 리본 메뉴에 액세스할 수 있습니다. 자세한 내용은 런타임에 리본 메뉴에 액세스를 참조하십시오.

  • Outlook 추가 기능 프로젝트의 모든 Outlook 양식 영역. Globals.FormRegions 속성을 사용하여 양식 영역에 액세스할 수 있습니다. 자세한 내용은 런타임에 양식 영역 액세스를 참조하십시오.

  • .NET Framework 4를 대상으로 하는 프로젝트에서 런타임에 리본 컨트롤, 스마트 태그 및 호스트 항목을 만들 수 있게 해 주는 팩터리 개체. Globals.Factory 속성을 사용하여 이 개체에 액세스할 수 있습니다. 이 개체는 다음 인터페이스 중 하나를 구현하는 클래스의 인스턴스입니다.

    참고

    Excel 2010 및 Word 2010에서 스마트 태그는 더 이상 사용되지 않습니다. 자세한 내용은 스마트 태그 개요를 참조하십시오.

    참고

    Factory 속성은 .NET Framework 4를 대상으로 하는 프로젝트에만 사용할 수 있습니다. .NET Framework 3.5를 대상으로 하는 프로젝트에서는 다른 메서드를 사용하여 런타임에 리본 컨트롤, 스마트 태그 및 호스트 항목을 만듭니다.

예를 들어 사용자가 Excel용 문서 수준 프로젝트의 작업 창에서 단추를 클릭할 때 Globals.Sheet1 속성을 사용하여 Sheet1의 NamedRange 컨트롤에 텍스트를 삽입할 수 있습니다.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
    Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
End Sub
private void button1_Click(object sender, EventArgs e)
{
    Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
}

Globals 클래스 초기화

코드에서 문서 또는 추가 기능이 완전히 초기화되기 전에 Globals 클래스를 사용하면 런타임 예외가 throw될 수 있습니다. 예를 들어 클래스 수준 변수를 선언할 때 Globals를 사용하면, 선언된 개체가 인스턴스화되기 전에는 Globals 클래스가 모든 호스트 항목에 대한 참조로 초기화되지 않을 수 있으므로 작업이 실패할 수 있습니다.

참고

Globals 클래스는 디자인 타임에 초기화되지 않지만 컨트롤 인스턴스는 디자이너에서 작성됩니다. 즉, 사용자 정의 클래스 내에서 Globals 클래스의 속성을 사용하는 사용자 정의 컨트롤을 만드는 경우에는 반환된 개체를 사용하기 전에 해당 속성이 null을 반환하는지 여부를 확인해야 합니다.

참고 항목

개념

런타임에 리본 메뉴에 액세스

런타임에 양식 영역 액세스

호스트 항목 및 호스트 컨트롤 개요

문서 호스트 항목

통합 문서 호스트 항목

워크시트 호스트 항목

Office 솔루션에서 코드 작성

변경 기록

날짜

변경 내용

이유

2010년 5월

특정 세부 정보를 추가했습니다.

향상된 기능 관련 정보