최초 문서 게시일: 2011년 9월 9일 금요일

작성자: 호환성 전문가 Curtis Sawin

Office 2010으로 마이그레이션할 때의 문제 중 하나는 Office 응용 프로그램에서 개체 모델 변경의 영향을 평가하는 것입니다. 예를 들어 IT 전문가와 개발자는 개체 모델이 너무 많이 변경되어 이전 버전 Excel을 사용하여 작성한 매크로가 Excel 2010에서 작동하지 않을 것을 염려할 수 있습니다. 최신 버전 Office 2010 응용 프로그램과 그에 해당하는 Office 2007/2003/XP/2000 응용 프로그램 간의 모든 개체 모델 차이점이 포함된 목록을 MSDN(이 문서 끝부분의 링크 참조)에서 검토한다면 매크로 손상 문제는 피할 수 없는 것으로 생각될 수 있습니다. 그러나 대부분의 변경은 작업에 영향을 주지 않으며 매크로에도 적용되지 않습니다. 그러면 여기서 "대부분"이란 어떤 의미일까요? 아래에 해당 내용이 요약되어 있습니다.

  • Excel 2010, Word 2010, PowerPoint 2010, Outlook 2010 및 Access 2010의 개체 모델을 결합하는 경우 항목(속성, 메서드, 상수) 수는 22,000개가 넘습니다.
  • 2,134개의 개체 모델이 변경되었습니다.
  • 영향을 줄 수 있는 변경 항목은 49개입니다.

이처럼 작업에 영향을 줄 수 있는 변경 항목은 5개 응용 프로그램에서 49개에 불과합니다. 이전 4개 버전을 모두 통틀어서 말이죠. 아래에 이를 보여 주는 차트가 나와 있습니다.

이 문서에서는 작업에 영향을 주지 않는 변경과 영향을 줄 수 있는 변경의 의미에 대해 설명합니다. 또한 참조를 위해 영향을 주는 변경이 모두 포함된 표가 제공됩니다. 이 표는 게시물 끝부분에 .pdf 파일로도 첨부되어 있습니다.

작업에 영향을 주지 않는 변경과 영향을 줄 수 있는 변경

각 Office 2010 응용 프로그램에 대한 개체 모델의 모든 변경 내용은 MSDN 설명서에 나와 있습니다. 이러한 변경 내용은 각각의 이전 Office 버전에서 변경 또는 제거되었거나 더 이상 사용되지 않는 속성이나 메서드를 모두 나열하는 방식으로 구성되어 있습니다.

예를 들어 Excel 2010의 경우에는 개체 모델에서 900개에 가까운 항목이 이전 버전과 ���릅니다. 수치로만 보면 매우 많은 항목이 변경된 것 같죠? MSDN 문서 이전 버전 이후 변경된 Excel 2010 개체 모델(영문일 수 있음)에 변경된 모든 항목이 나와 있습니다. 이 문서는 인쇄하면 약 90페이지나 됩니다.

더 이상 사용되지 않는 항목(영향을 주지 않음)

변경된 항목 중 대부분은 더 이상 사용되지 않는 항목(숨겨진 항목)입니다. 그러면 "더 이상 사용되지 않는 항목"이란 무엇이며 매크로에는 어떤 영향을 줄까요? 더 이상 사용되지 않는 것으로 표시된 항목은 이후 Office 버전에서 더 이상 사용할 수 없으며 코드 업데이트를 계획해야 하는 항목입니다. 그러나 더 이상 사용되지 않는 항목도 계속 작동하기는 합니다. 따라서 이전 버전 Office용으로 작성한 매크로 코드에 더 이상 사용되지 않는 메서드, 속성 또는 상수가 포함되어 있는 경우 Office 2010에서 해당 항목이 작동하도록 하기 위해 특별한 작업을 수행할 필요가 없습니다. 거의 900개에 가까운 변경된 항목(정확히는 882개) 중에서 794개가 더 이상 사용되지 않는 항목입니다. 즉, Excel 개체 모델에서 변경된 900개 항목 중 거의 800개는 매크로에 포함되어 있어도 아무런 영향을 주지 않습니다.

따라서 더 이상 사용되지 않는 항목과 관련된 문제는 천천히 해결해도 되지만 해당 항목을 완전히 무시해서는 안 됩니다. 현재 더 이상 사용되지 않는 코드가 이후 손상되지 않도록 이러한 항목이 포함된 코드를 검토 및 업데이트해야 합니다.

제거된 항목(영향을 줌)

"제거된" 항목의 경우 주의가 필요합니다. 제거된 것으로 표시된 항목은 Office 2010 개체 모델에 더 이상 포함되어 있지 않습니다. 기존 매크로에 Office 2010에서 제거된 항목이 포함되어 있으면 해당 매크로는 작동하지 않습니다. Excel 2010의 경우 이전 버전 이후 제거된 개체 모델 항목은 9개입니다. 이러한 항목의 경우에는 확인하여 교체해야 합니다.

변경된 항목(대부분 영향을 주지 않음)

"변경된" 항목은 이전 버전 이후로 변경된 메서드 및 속성입니다. 예를 들어 변경된 메서드가 다른 데이터 형식을 반환할 수도 있고, 속성이 "읽기 전용"에서 "읽기/쓰기"로 변경되었을 수 있습니다. 약간의 분석을 수행한 결과 대부분의 변경된 항목에는 선택적 매개 변수를 추가로 허용하는 메서드나 속성이 포함된 것으로 확인되었습니다. 예를 들어 ListRows.Add(영문일 수 있음) 메서드의 경우 Excel 2003에서는 선택적 매개 변수 하나를 제공하지만 Excel 2010에서는 두 개를 제공합니다. 이와 같은 선택적 매개 변수 추가는 매크로 사용에 아무런 영향을 주지 않습니다. Excel 2003에서 이 메서드를 사용할 때 매개 변수를 하나만 제공한 경우 동일한 코드가 Excel 2010에서 수정하지 않아도 작동합니다.

Excel 2010에서 변경된 항목은 97개이지만 영향을 줄 수 있는 항목은 없습니다. 즉, 항목의 모든 변경 내용은 "변경된" 항목을 포함하는 기존 코드에 영향을 주지 않습니다.

이처럼 이전의 4개 Excel 버전과 달라진 882개 메서드 및 속성 중에서 영향을 주는 항목은 9개뿐입니다.

변경된 모든 항목이 영향을 주지 않는 것은 아닙니다. 예를 들어 PowerPoint에서 Presentation.SaveAs 메서드는 선택적 매개 변수 FileFormat에 대해 다른 기본값을 사용합니다. 즉, PowerPoint 2003의 기본값이었던 “1”(ppSaveAsPresentation)이 PowerPoint 2010에서는 “11”(ppSaveAsDefault)로 변경되었습니다. 따라서 이 메서드를 사용하는 경우 FileFormat 매개 변수에 대해 명시적으로 값을 제공하지 않으면 PowerPoint 2003에서 작성한 매크로 실행 시 PowerPoint 2010에서와 결과가 달라질 수 있습니다. 이처럼 메서드를 사용하는 방법에 따라 변경이 영향을 줄 수도 있습니다.

OCCI를 통한 개체 모델 변경 내용 검색

OCCI(Office Code Compatibility Inspector)(영문일 수 있음)와 같은 도구로 매크로를 검색해 이전 버전 이후 변경된 코드가 포함되어 있는지를 확인할 수 있습니다. OCCI에서는 변경되었거나 더 이상 사용되지 않거나 제거된 항목 수가 포함된 보고서를 제공합니다. 또한 외부 참조를 사용 중인지 여부(운영 체제 업그레이드의 일부분으로 Office 2010을 마이그레이션하는 경우 특히 중요함)와 64비트 Office 환경에서 작동한다고 명시적으로 표시되지 않은 선언이 있는지 여부도 표시됩니다. 아래 스크린샷에는 매크로를 포함하는 Excel 통합 문서에 대해 실행된 OCCI의 결과가 요약되어 있습니다.

위에서 확인할 수 있는 것처럼 OCCI에서는 "재설계된(Redesigned)"이라는 용어가 사용되는데, 이는 "제거된"과 동일한 의미입니다.


OCCI는 모든 변경 항목을 검색하므로 출력을 정렬하여 "조치를 취할 수 있는" 정보를 파악해야 합니다. 즉, OCCI는 "달라진" 항목을 알려 주지만 즉시 수정해야 하는 항목, 즉시는 아니지만 결국에는 수정해야 하는 항목 등의 자세한 정보는 제공하지 않습니다. 아래 표를 통해 이러한 정보를 파악할 수 있습니다. 이 표에는 영향을 줄 수 있는 모든 변경 항목(즉시 평가해야 하는 항목)이 나와 있습니다. 사용 방법에 따라서는 이러한 항목이 포함된 코드를 수정하지 않아도 될 수 있습니다. 따라서 이 표는 매크로 문제를 해결하기 위한 '빠른 참조' 정도로 사용하시면 됩니다. 그러나 도구 또는 아래 표에 전적으로 의지해서는 안 됩니다. 매크로가 작동하는지 확실하게 확인하는 방법은 직접 매크로를 실행해 보는 것뿐입니다.

요약

아래 표에는 영향을 줄 수 있는 변경 내용(제거된 모든 항목과 영향을 줄 수 있는 모든 변경된 항목)이 나와 있습니다. 이 표에 포함된 코드를 현재 사용 중인지를 빠르게 확인할 수 있습니다. OCCI 등의 도구를 통해서는 모든 변경 내용을 검색할 수 있는 반면, 이 표에서는 Office 2010으로 매크로를 마이그레이션할 때 아무런 영향을 주지 않는 개체 모델 변경 내용이 제외되어 있으므로 조치를 취할 수 있으며 활용 가능한 데이터를 확인할 수 있습니다.

도구를 사용하는 경우에는 보통 변경된 항목 등의 기술적 정보를 파악할 수 있는 데이터는 제공되는 반면, 이 변경 항목이 솔루션에 어떤 영향을 주는지와 같은 비즈니스 관련 사항은 파악하기가 어렵습니다. 도구를 통해 문제 해결 작업을 자동으로 빠르게 수행할 수는 있지만 도구에 과도하게 의존하면 도구에서 제공하는 데이터를 잘못된 분야에 활용할 가능성이 있습니다. 앞에서도 언급한 것처럼, Office 2010으로 업그레이드할 때 솔루션이 작동하는지를 확인하는 데 가장 효율적인 방법은 실제로 솔루션을 사용해 보는 최종 사용자 테스트를 수행하는 것입니다(가능하면 테스트 환경에서 수행).

 

이 게시물 끝부분의 .pdf 링크를 클릭하면 위의 표를 .pdf 파일로 다운로드할 수 있습니다.

추가 정보 

아래 링크를 클릭하면 다양한 개체 모델의 차이점을 확인할 수 있습니다.

 

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Understanding potentially impactful changes in the Office 2010 object model을 참조하십시오.