엑셀 프로그램 내의 통신 오류 또는 작업 지연 때문에 발생하는 현상입니다.

쉽게 비유를 들어 설명해 드릴게요.

'바쁜 식당의 외로운 종업원' 비유

  • 엑셀 프로그램(Excel.exe) = 식당의 유일한 종업원 1명
  • 처음에 열려있던 엑셀 파일 (A.xlsx) = 종업원이 주문을 받고 있는 '1번 테이블'
  • 새로 열려고 한 엑셀 파일 (B.xlsx) = 새로 들어와 손을 들고 있는 '2번 테이블 손님'
  1. 새 파일 실행: '2번 테이블 손님'(B.xlsx)이 들어와서 "여기요!" 하고 종업원을 부릅니다. (파일을 더블클릭)
  2. 응답 없음: 하지만 '종업원'(엑셀 프로그램)은 '1번 테이블'(A.xlsx)의 주문을 받느라 너무 바빠서 '2번 손님'을 봤지만 바로 응대하지 못하고 있습니다. "네, 잠시만요!" 하고는 계속 1번 테이블 일을 하는 거죠.
  3. 기존 파일 닫기: '1번 테이블'(A.xlsx) 손님이 식사를 마치고 나갑니다. (열려있던 엑셀 창을 닫음)
  4. 지연된 작업 처리: 이제 한가해진 '종업원'(엑셀 프로그램)은 그제야 "아 맞다, 2번 손님!" 하면서 '2번 테이블'(B.xlsx)로 가서 주문을 받습니다. (새로 열려고 했던 파일이 그제야 열림)

조금 더 기술적인 설명

엑셀은 기본적으로 **하나의 프로세스(하나의 종업원)**에서 여러 파일을 관리하는 방식으로 동작합니다.

  1. DDE (Dynamic Data Exchange) 메시지: 사용자가 엑셀 파일을 더블클릭하면, 윈도우는 이미 실행 중인 EXCEL.EXE 프로세스에게 "이 파일(B.xlsx) 좀 열어줘"라는 **DDE 메시지(요청서)**를 보냅니다.
  2. 프로세스 지연 또는 응답 없음: 하지만 이미 열려있던 A.xlsx 파일 때문에 EXCEL.EXE 프로세스가 무언가에 발목이 잡혀있는 상태일 수 있습니다.
    • 백그라운드 계산: 복잡한 수식이 계속 계산 중일 때
    • 문제 있는 추가 기능(Add-in): 설치된 추가 기능이 엑셀의 정상적인 동작을 방해할 때
    • 하드웨어 그래픽 가속 문제: 그래픽 드라이버와 충돌이 있을 때
    • 외부 데이터 연결: 외부 데이터 소스에서 응답을 기다리고 있을 때
  3. 요청 대기: 이처럼 EXCEL.EXE 프로세스가 바쁘거나 살짝 '얼어있는' 상태에서는 새로운 DDE 메시지(파일 열기 요청)를 받아서 처리하지 못하고 **대기열(Queue)**에 쌓아둡니다. 사용자 입장에서는 아무 반응이 없는 것처럼 보이죠.
  4. 프로세스 해제 및 작업 수행: 사용자가 기존에 열려있던 A.xlsx 창을 닫으면, 엑셀을 붙잡고 있던 작업이 해제되면서 EXCEL.EXE 프로세스가 비로소 여유를 찾게 됩니다. 그리고는 대기열에 쌓여있던 "B.xlsx 파일 열어줘"라는 요청을 그제야 처리하게 되는 것입니다.

해결 방법

이러한 현상은 보통 다음과 같은 방법으로 해결할 수 있습니다.

  1. DDE 설정 확인 (가장 흔한 원인):
    • 엑셀 실행 → 파일  옵션  고급
    • '일반' 섹션에서 "DDE(동적 데이터 교환)를 사용하는 다른 응용 프로그램 무시" 항목의 체크를 해제해주세요. (이 옵션이 체크되어 있으면 엑셀끼리의 통신을 막아버립니다.)
  2. 추가 기능(Add-in) 확인:
    • 파일  옵션  추가 기능
    • 하단의 '관리'에서 **'COM 추가 기능'**으로 이동 후, 불필요하거나 의심스러운 추가 기능들을 체크 해제하고 엑셀을 다시 시작해보세요. 하나씩 테스트하며 원인이 되는 추가 기능을 찾아내는 것이 좋습니다.
  3. 하드웨어 그래픽 가속 비활성화:
    • 파일  옵션  고급
    • '표시' 섹션에서 "하드웨어 그래픽 가속 사용 안 함" 항목에 체크해주세요.
  4. Microsoft Office 복구:
    • 제어판  프로그램 및 기능에서 Microsoft Office를 찾아 '변경'을 누른 후, '빠른 복구' 또는 '온라인 복구'를 실행합니다.

이러한 현상은 파일 자체의 문제라기보다는 엑셀 프로그램 자체의 설정이나 환경 문제일 가능성이 매우 높습니다. 위 해결 방법들을 차례대로 시도해보시면 대부분 해결될 것입니다.

+ Recent posts