XL2000: 오류 메시지: 'Sheet1111111111111...'을 로드하는 중 오류가 발생했습니다.
적용 대상
현상
Microsoft Excel 2000에서 Excel 97 형식으로 저장한 파일을 열려고 하면 다음과 같은 오류 메시지가 나타납니다.
'Sheet1111111111111...'을 로드하는 중 오류가 발생했습니다. 프로젝트를 계속 로드하시겠습니까?
예를 누르면 다음과 같은 오류 메시지가 나타납니다.
프로그램이 잘못된 작업을 수행하여 종료됩니다.
이와 함께 다음과 같은 자세한 정보가 표시됩니다.
EXCEL이 모듈 VBE6.DLL의 주소 0167:650f6290에서 잘못된 페이지 오류를 일으켰습니다.
아니오를 누르면 다음 오류 메시지가 나타납니다.
파일을 찾을 수 없습니다.
그리고 문서가 열리지 않습니다.
원인
이러한 문제는 다음과 같은 경우 발생합니다.
Excel 97에서 VBA 매크로를 사용하거나 수동으로 워크시트를 복사하여 같은 통합 문서에 여러 번 추가했습니다.
그리고
여러 번 복사한 후 VBA에서의 워크시트 (이름) 속성이 31자를 초과했습니다.
마지막으로 복사할 때 다음과 같은 오류 메시지가 나타날 수 있습니다.
프로그램이 잘못된 작업을 수행하여 종료됩니다.
이와 함께 다음과 같은 자세한 정보가 표시됩니다.
EXCEL이 모듈 EXCEL.EXE의 주소 015f:301dd1a6에서 잘못된 페이지 오류를 일으켰습니다.
워크시트를 마지막으로 복사하기 바로 전에 파일을 저장했으면 해당 파일이 Excel 2000에서 열리지 않을 수 있습니다.
해결 과정
이 문제를 해결하려면 아래 방법 중 하나를 사용합니다.
새 통합 문서에 복사
문제가 있는 파일을 Excel 97에서 열고 (이름) 속성이 가장 긴 시트를 제외한 나머지 시트를 새 통합 문서에 모두 복사합니다. 이제 이 통합 문서를 Excel 2000에서 열 수 있습니다.
Microsoft Excel 97 파일 복구 매크로 사용
Microsoft Excel 97에서 통합 문서를 열고 Microsoft Excel 97 파일 복구 매크로를 사용하여 문제가 있는 통합 문서의 복사본을 만듭니다.
다시 작성한 통합 문서를 Excel 2000에서 엽니다.
이 매크로에 대한 자세한 정보를 보거나 다운로드하려면 다음 Microsoft 웹 사이트의 Office Resource Kit에서 해당 장을 참조하십시오.
http://www.microsoft.com/office/ork/appa/appa.htm#top
Microsoft Excel 97 File Recovery Macro 절이 표시될 때까지 아래로 스크롤한 다음 Download and run 링크를 눌러 이 추가 기능을 다운로드하고 설치합니다.
앞으로 이 문제가 발생하지 않도록 매크로 사용
Microsoft는 모든 보증(상품, 특정 목적에 대한 적합성 및 비침해에 대한 묵시적인 보증을 포함하며 이에 제한되지 않음)을 배제하며 예를 보여주기 위한 목적으로만 이 프로그래밍 예제를 제공합니다. 본 문서에서 설명하는 절차를 따르려면 해당 프로그래밍 언어, 도구 및 디버깅 절차에 익숙해야 합니다. Microsoft 기술 지원 담당자는 사용자에게 도움이 되도록 특정 절차에 대한 기능을 설명할 수 있지만 사용자의 특정 목적에 맞도록 예제를 수정하여 추가 기능을 제공하거나 절차를 구성하지는 않습니다. 프로그래밍에 익숙하지 않은 사용자는 MCSP(Microsoft Certified Solution Provider)의 도움을 받거나 마이크로소프트 고객만족센터(080-985-2000)로 문의하십시오. MCSP(Microsoft Certified Solution Provider)에 대한 자세한 내용은 아래 웹 사이트를 참조하십시오.
앞으로 이 문제가 발생하지 않도록 사용 중인 VBA 매크로에 다음과 같은 매크로 코드를 사용할 수 있습니다. 다음 프로시저는 기본 제공된 ActiveSheet.Copy 매크로 명령 대신 Sheets.Add 메서드를 사용합니다. 그런 다음 원본 시트의 정보를 새로 작성된 시트로 복사합니다. 이 메서드는 다른 명명 규칙을 사용하므로 문제가 발생하지 않습니다. Sub CreateNewSheet()
Dim origSheet As Worksheet
Dim newSheet As Worksheet
Set origSheet = ThisWorkbook.ActiveSheet
Set newSheet = Sheets.Add ' Add a new sheet.
origSheet.Activate ' Go back to the original sheet.
origSheet.UsedRange.Copy ' Copy the used range.
newSheet.Activate ' Go to the new sheet.
ActiveSheet.Paste ' Paste the information from the original.
End Sub
현재 상태
Microsoft는 이 문서의 시작 부분에 나열한 제품에서 이 문제를 확인했습니다.
추가 정보
VBA에서 Excel 워크시트 복사본의 명명 방법이 바뀌었습니다. Excel 97에서는 워크시트를 복사할 때 VBA에서 원본 시트의 (이름) 속성 끝에 1을 추가하여 새 워크시트의 (이름) 속성을 지정했습니다. 원본 시트의 (이름) 속성이 "Sheet1"이면 복사한 시트의 (이름) 속성은 "Sheet11"이 됩니다. 이것이 여러 번 반복되어 (이름) 속성이 31자를 초과하게 되면 오류가 발생하며 Excel 97가 응답을 하지 않고 작동을 멈춥니다.
Excel 2000에서는 VBA가 속성 마지막에 1을 추가하는 대신 (이름) 속성 값의 숫자를 늘립니다. 따라서 Excel 2000에서는 워크시트를 여러 번 복사해도 문제가 발생하지 않습니다.
(이름) 속성을 보려면 아래 단계를 수행합니다.
Alt+F11을 눌러 Visual Basic Editor로 전환합니다.
보기 메뉴에서 프로젝트 탐색기를 누릅니다.
프로젝트 창에서 통합 문서의 VBAProject 이름 옆에 있는 더하기 기호를 눌러 트리를 확장합니다.
Microsoft Excel 개체 폴더 옆의 더하기 기호를 눌러 워크시트를 표시합니다.
트리에서 마지막 통합 문서를 선택합니다.
보기 메뉴에서 속성 창을 선택합니다.
속성 창에서 사전순 탭을 누릅니다. 맨 위의 항목을 봅니다. ((이름)이 맨 위에 나타나야 합니다.)
일반적으로 오른쪽에 있는 상자에서 이 이름을 편집할 수 있습니다.
참고: 문제가 발생한 후에는 (이름) 속성을 편집해도 문제가 해결되지 않습니다. 문제가 있는 파일을 Excel 97에서 다시 열고 Visual Basic Editor로 전환한 후 31자를 초과하는 워크시트 (이름) 속성의 텍스트를 줄이고 파일을 저장하려고 하면 Excel이 작동을 멈추고 파일이 저장되지 않습니다. 이와 함께 다음과 같은 자세한 정보가 표시됩니다.
EXCEL이 모듈 Ole32.dll의 주소 015f:7ff3da31에서 잘못된 페이지 오류를 일으켰습니다.
마지막으로 복사한 워크시트를 삭제하고 파일을 저장할 때도 같은 오류 메시지가 나타납니다.
참조
시트를 옮기거나 복사하는 방법에 대한 자세한 내용을 알려면 도움말 메뉴에서 Microsoft Excel 도움말을 누르고 Office 길잡이나 도움말 마법사에서 시트 옮기기를 입력한 다음 찾기를 눌러 항목을 보십시오.