다음을 통해 공유


방법: 응용 프로그램 데이터 액세스

InfoPath 관리 코드 개체 모델에서는 양식의 원본으로 사용하는 XML 문서 및 양식 정의 파일(.xsf) 관련 정보를 포함하여 InfoPath 응용 프로그램에 대한 정보에 액세스하는 데 사용할 수 있는 개체와 컬렉션을 제공합니다. 이 데이터는 Application 클래스를 사용하여 인스턴스화되는 InfoPath 개체 모델 계층 구조의 최상위 개체를 통해 액세스합니다.

VSTA(Microsoft Visual Studio Tools for Applications) 또는 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System 이 설치된 Visual Studio를 사용하여 만든 InfoPath 관리 코드 양식 서식 파일 프로젝트에서 this(C#) 또는 Me(Visual Basic) 키워드를 사용하여 현재 InfoPath 응용 프로그램을 나타내는 Application 클래스 인스턴스에 액세스한 다음 이 인스턴스를 사용하여 Application 클래스의 속성과 메서드에 액세스할 수 있습니다.

예제

응용 프로그램 이름, 버전 및 언어 ID 표시

다음 예제에서는 Application 클래스의 NameVersion 속성을 사용하여 InfoPath 실행 인스턴스의 이름과 버전 번호를 반환합니다. 그런 다음 LanguageSettings 속성을 사용하여 LanguageSettings 개체를 반환하고 다시 이 개체를 사용하여 현재 InfoPath 사용자 인터페이스 언어에 사용 중인 언어의 LCID(4자리 숫자)를 반환합니다. 마지막으로 이 모든 정보가 메시지 상자에 표시됩니다.

중요:

LanguageSettings 속성을 사용하려면 Microsoft Office 12.0 Object Library에 대한 참조를 설정해야 합니다(VSTA(Microsoft Visual Studio Tools for Applications) 또는 Visual Studio 2005에서 참조 추가 대화 상자의 COM 탭 사용). 이렇게 하면 LanguageSettings 클래스를 포함하는 Microsoft.Office.Core 네임스페이스에 대한 참조가 설정됩니다. 또한 양식을 전체 신뢰로 실행해야 합니다.

이 예제를 실행하려면 양식 코드 모듈의 선언 섹션에 Microsoft.Office.Core 네임스페이스에 대한 using 또는 Imports 지시문이 필요합니다.

string appName = this.Application.Name;
string appVersion = this.Application.Version;
LanguageSettings langSettings = 
   (LanguageSettings)this.Application.LanguageSettings;
int langID = 
   langSettings.get_LanguageID(MsoAppLanaguageID.msoLanguageIDUI);

MessageBox.Show(
   "Name: " + appName + System.Environment.NewLine +
   "Version: " + appVersion + System.Environment.NewLine +
   "Language ID: " + langID);
Dim appName As String appName = Me.Application.Name
Dim appVersion As String = Me.Application.Version
Dim langSettings As LanguageSettings = _
   DirectCast(Me.Application.LanguageSettings, LanguageSettings)
Dim langID As Integer = _
   langSettings.LanguageID(MsoAppLanaguageID.msoLanguageIDUI)

MessageBox.Show( _
   "Name: " + appName + System.Environment.NewLine + _
   "Version: " + appVersion + System.Environment.NewLine + _
   "Language ID: " + langID)