Excel 컨트롤에 대한 전역화 고려 사항

기본적으로 Microsoft Office Excel의 호스트 컨트롤은 관리 코드를 사용하여 전달 또는 조작되는 모든 데이터의 서식이 영어(미국)로 지정된 경우 모든 Windows 국가별 설정에서 올바르게 작동합니다. .NET Framework 4를 대상으로 하는 프로젝트에서 이 동작은 CLR(공용 언어 런타임)로 제어됩니다. .NET Framework 3.5를 대상으로 하는 프로젝트에서 이 동작은 프로젝트에서 Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute가 true로 설정된 경우 적용됩니다. 자세한 내용은 여러 가지 국가별 설정으로 Excel의 데이터 서식 지정를 참조하십시오.

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

Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute를 false로 설정한 경우에는 최종 사용자가 영어 버전의 Excel을 사용하고 있지만 Windows 국가별 설정이 영어(미국) 이외의 지역이면 호스트 컨트롤이 올바르게 작동하지 않습니다. MUI(다국어 사용자 인터페이스) 팩을 설치하면 이 문제를 해결할 수 있습니다.

.NET Framework 3.5를 대상으로 하는 프로젝트에서 ExcelLocale1033Attribute가 False인 경우

데이터 바인딩 및 이벤트 같은 Excel의 호스트 컨트롤 기능은 PIA(주 Interop 어셈블리)를 통한 Microsoft Office Excel 개체 모델 호출에 의존합니다. "en-US" 이외의 환경에서 영어 버전의 Excel에 대해 솔루션을 실행하는 경우 사용자가 호스트 컨트롤을 사용하여 작업하면 COM 개체 모델을 프로그래밍 방식으로 명시적으로 호출하여 발생하는 것과 동일한 오류가 발생할 수 있습니다.

예를 들어, 컨트롤을 두 번 클릭해도 NamedRange 컨트롤의 BeforeDoubleClick 이벤트가 발생하지 않을 수 있습니다. 이는 명명된 범위 내에서 이벤트가 발생했는지 여부를 확인하기 위해 Excel 개체 모델의 메서드를 호출하기 때문입니다. 이 메서드 호출에 전달된 로캘이 영어(미국)가 아니면 메서드에 실패하고 이벤트가 발생하지 않습니다. 지역화된 버전의 Excel을 사용하거나 영어 버전의 Excel을 MUI 팩과 함께 사용하면 이러한 오류가 발생하지 않습니다.

참고 항목

작업

방법: 리플렉션을 사용하여 Excel의 문자열 리터럴 영역 안전하게 만들기

개념

여러 가지 국가별 설정으로 Excel의 데이터 서식 지정

Office 솔루션 전역화 및 지역화

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