Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Microsoft Excel '다른 응용 프로그램이 OLE 작업을 완료할 때까지 기다리는 중입니다' 오류 해결 방법 총정리

많은 Office 사용자들이 VBA 스크립트를 실행하거나 BI Launch Pad에서 Excel을 구동하려고 할 때 "Microsoft Excel이 다른 응용 프로그램이 OLE 작업을 완료할 때까지 기다리고 있습니다(Microsoft is waiting for another application to complete an OLE action)"라는 오류 메시지가 나타난다고 보고하고 있습니다. 이 문제는 Windows 7, Windows 8.1, Windows 10 등 최근의 모든 Windows 버전에서 발생하는 것으로 알려져 있습니다.

OLE 작업이란 무엇인가요?

OLE(Object Linking & Embedding) 작업은 Word, Excel, PowerPoint, SharePoint 등 다양한 Office 응용 프로그램이 다른 응용 프로그램과 통신하여 작업을 성공적으로 완료할 수 있도록 설계된 메커니즘입니다.

'OLE 작업 대기' 오류는 왜 발생하나요?

저희는 다양한 사용자 보고와 Microsoft 공식 문서를 분석하여 이 문제를 조사했으며, 실제 테스트 환경에서도 동일한 현상을 재현하는 데 성공했습니다.

Excel이 다른 응용 프로그램(예: Word)에 통신 요청을 보낼 때 OLE 개체를 사용하여 요청을 전달한 후 해당 응용 프로그램의 응답을 기다립니다. 만약 응답이 기본 시간 임계값 내에 도착하지 않으면, Excel은 사용자에게 'Microsoft Excel이 다른 응용 프로그램이 OLE 작업을 완료할 때까지 기다리고 있습니다'라는 경고 메시지를 표시합니다.

오류 메시지 자체는 항상 동일하지만, 실제로 이 오류를 유발하는 원인은 몇 가지로 나눌 수 있습니다.

  • Excel에서 DDE 프로토콜이 비활성화된 경우 – Excel 설정에서 DDE(Dynamic Data Exchange, 동적 데이터 교환) 프로토콜이 비활성화되어 있으면 이 문제가 발생할 수 있습니다.
  • 손상된 Office 설치 – 일부 사용자들은 Office 전체를 재설치하거나 복구한 후 문제가 해결되었다고 보고했습니다.
  • Adobe Acrobat PDFMaker 추가 기능과의 충돌 – PDFMaker 플러그인을 비활성화하거나 제거함으로써 문제를 해결한 사용자들의 사례가 여러 건 보고되었습니다.
  • IE(Internet Explorer) 프로세스가 DDE를 방해하는 경우 – 주로 Excel에서 파일을 저장하려고 할 때 발생합니다. 이 경우 IE 프로세스를 직접 종료하면 됩니다.

아래 방법들을 순서대로 하나씩 시도해 보시고, 문제가 해결될 때까지 진행하시기 바랍니다. 그럼 시작해 보겠습니다.

방법 1: Adobe Acrobat PDFMaker 제거(해당되는 경우)

일부 사용자들은 Adobe Acrobat PDF Maker 추가 기능을 제거함으로써 이 오류를 해결했습니다. 이 플러그인은 특정 버전의 Microsoft Excel과 충돌할 가능성이 있는 것으로 밝혀졌습니다.

PDF Maker와 호환되는 Office 버전 목록은 다음과 같습니다.

  • Office 2010(Office 14) 32비트 및 64비트
  • Office 2013(Office 15) 32비트 및 64비트
  • Office 2016(Office 16) 32비트 및 64비트

참고: Adobe의 전체 호환성 가이드를 참조하시면 도움이 됩니다.

PDF Maker를 자주 사용하지 않는다면, 이 추가 기능을 비활성화하거나 제거하는 것만으로도 문제를 해결할 가능성이 높습니다. 아래 절차를 따라 해보세요.

  1. Microsoft Excel을 열고 리본 메뉴에서 파일(File)을 클릭합니다.
  2. 파일 메뉴 하단에서 옵션(Options)을 클릭합니다.
  3. Excel 옵션 창에서 왼쪽 메뉴의 추가 기능(Add-ins)을 클릭합니다. 그런 다음 오른쪽 창에서 관리(Manage) 드롭다운 메뉴를 펼치고 COM 추가 기능(COM Add-ins)을 선택한 후 이동(Go...) 버튼을 클릭합니다.
  4. COM 추가 기능 목록에서 Acrobat PDFMaker Office COM Addin의 체크박스를 해제하거나, 항목을 선택한 후 제거(Remove)를 클릭하여 완전히 삭제합니다.
  5. 컴퓨터를 재시작한 후, 이전에 오류가 발생했던 작업을 다시 수행하여 문제가 해결되었는지 확인합니다.

여전히 동일한 오류가 발생한다면 아래의 다음 방법으로 넘어가세요.

방법 2: Excel 설정에서 DDE를 사용하는 응용 프로그램 허용

많은 사용자들의 보고에 따르면, Microsoft Excel이 DDE(Dynamic Data Exchange) 프로토콜을 통해 통신하려는 응용 프로그램을 무시하도록 설정되어 있으면 이 문제가 발생할 수 있습니다.

예를 들어 Windows 탐색기에서 Excel 통합 문서를 더블클릭하면, 명령이 등록되는 즉시 DDE 요청이 Excel로 전송됩니다. 이 요청은 방금 더블클릭한 통합 문서를 열도록 Excel에 지시하는 역할을 합니다.

그런데 Excel이 DDE 프로토콜을 사용하는 응용 프로그램을 무시하도록 설정되어 있다면 이 교환이 이루어지지 않고, 대신 'Microsoft Excel이 다른 응용 프로그램이 OLE 작업을 완료할 때까지 기다리고 있습니다'라는 오류 메시지가 나타나게 됩니다.

다행히 Excel의 옵션 메뉴에 접근하여 DDE 프로토콜을 활성화하면 이 문제를 간단히 해결할 수 있습니다. 아래 절차를 따라 해보세요.

  1. Microsoft Excel을 열고 파일(File)을 클릭합니다. 새 통합 문서를 열든 기존 문서를 열든 상관없습니다.
  2. 파일 메뉴에서 왼쪽 창의 옵션(Options)을 클릭합니다.
  3. Excel 옵션 창에서 왼쪽 메뉴의 고급(Advanced) 탭을 클릭합니다. 그런 다음 오른쪽 창을 아래로 스크롤하여 일반(General) 섹션으로 이동합니다. 해당 섹션에서 DDE(동적 데이터 교환)를 사용하는 다른 응용 프로그램 무시(Ignore other applications that use Dynamic Data Exchange) 체크박스가 선택 해제되어 있는지 확인합니다.
  4. 확인(OK)을 클릭하여 변경 사항을 저장한 후 Microsoft Excel을 다시 시작합니다. 그런 다음 이전에 오류를 일으켰던 작업을 반복하여 문제가 여전히 발생하는지 확인합니다.

여전히 동일한 오류 메시지가 나타난다면 다음 방법으로 넘어가세요.

방법 3: Internet Explorer(IE) 프로세스 종료

파일을 저장하려고 할 때 이 오류가 발생한다면, IE 프로세스가 DDE(동적 데이터 교환) 통신을 방해하고 있을 가능성이 있습니다.

비슷한 상황에 처한 사용자들은 IE 프로세스를 수동으로 종료한 후 문제가 해결되었다고 보고했습니다. 아래 절차를 따라 해보세요.

  1. Ctrl + Shift + Esc 키를 눌러 작업 관리자(Task Manager)를 엽니다.
  2. 작업 관리자에서 프로세스(Processes) 탭으로 이동하여 현재 실행 중인 Internet Explorer 관련 프로세스가 있는지 확인합니다.
  3. 실행 중인 IE 프로세스가 보이면 마우스 오른쪽 버튼으로 클릭하고 작업 끝내기(End task)를 선택하여 종료합니다.
  4. Excel로 돌아가서 파일을 저장할 때 여전히 오류가 발생하는지 확인합니다.

여전히 동일한 오류가 발생한다면 다음 방법으로 넘어가세요.

방법 4: Excel 응용 프로그램 메시지 표시 억제(VBA 코드)

VBA 스크립트 실행 중에 이 오류 메시지가 나타난다면, 간단한 코드를 사용하여 응용 프로그램 메시지 표시를 억제하는 것이 한 가지 임시 해결책이 될 수 있습니다.

단, 이 방법은 근본적인 원인을 치료하는 것은 아니며 오류 메시지가 화면에 나타나지 않도록 막아주는 우회 방법일 뿐이라는 점을 유의하세요. 그래도 오류 팝업 없이 작업을 계속 진행하는 것이 목표라면 유용하게 활용할 수 있습니다.

아래는 Excel 통합 문서에 VBA 코드를 삽입하여 응용 프로그램 메시지 표시를 억제하는 방법입니다.

  1. Excel에서 통합 문서를 연 후 Alt + F11 키를 눌러 VBA 편집기(VBE)를 엽니다.
  2. 왼쪽의 프로젝트(Project) 창에서 ThisWorkbook을 마우스 오른쪽 버튼으로 클릭하고 삽입 > 모듈(Insert > Module)을 선택합니다.
  3. 새로 생성된 모듈의 코드 입력 영역에 아래 코드를 붙여넣습니다.
    Private Declare Function CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) As Long
    
    Public Sub KillMessageFilter()
    
       Dim IMsgFilter As Long
    
       CoRegisterMessageFilter 0&, IMsgFilter
    
    End Sub
    
    Public Sub RestoreMessageFilter()
    
       Dim IMsgFilter As Long
    
       CoRegisterMessageFilter IMsgFilter, IMsgFilter
    
    End Sub

    추가 팁: 일부 사용자들은 아래의 VBA 코드를 사용해서도 오류 팝업을 방지하는 데 성공했다고 보고했습니다.

    Sub CreateXYZ()
    
          Dim wdApp As Object
    
        Dim wd As Object
    
             On Error Resume Next
    
        Set wdApp = GetObject(, "Word.Application")
    
        If Err.Number <> 0 Then
    
            Set wdApp = CreateObject("Word.Application")
    
        End If
    
        On Error GoTo 0
    
        Set wd = wdApp.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "XYZ template.docm")
    
        wdApp.Visible = True
    
        Range("A1:B10").CopyPicture xlScreen
    
        wd.Range.Paste
    
    End Sub
  4. Ctrl + S를 눌러 저장하고, "매크로가 포함되지 않은 통합 문서에는 다음 기능을 저장할 수 없습니다"라는 경고가 나타나면 아니요(No)를 클릭합니다.
  5. 적절한 저장 위치를 지정하고 파일 이름을 정한 후, 파일 형식(Save as type)Excel 매크로 사용 통합 문서(Excel Macro-Enabled Workbook)로 설정되어 있는지 확인합니다. 모든 설정이 완료되면 저장(Save)을 클릭합니다.
  6. Alt + Q를 눌러 편집기를 닫고 통합 문서로 돌아갑니다. 그런 다음 Alt + F8 키를 누르고, 방금 생성한 매크로를 선택한 후 실행(Run)을 클릭합니다.

이 절차를 완료하면 해당 통합 문서에서는 더 이상 'Microsoft Excel이 다른 응용 프로그램이 OLE 작업을 완료할 때까지 기다리고 있습니다' 오류가 화면에 표시되지 않습니다(백그라운드에서는 여전히 발생할 수 있지만).

방법 5: 호환성 모드 비활성화(해당되는 경우)

일부 사용자들은 Excel 실행 파일이 호환성 모드(Compatibility mode)로 실행되고 있음을 발견한 후 이 문제를 해결했습니다. 호환성 모드는 사용자가 직접 설정했거나 제3자 응용 프로그램에 의해 적용되었을 수 있습니다.

Excel이 호환성 모드로 실행되고 있다고 의심되면 해당 설정을 비활성화한 후 오류가 사라지는지 확인해 보세요. 일반적으로 Excel 실행 파일이 Windows Vista 이하와의 호환성 모드로 구성되어 있을 때 이 오류가 발생하는 것으로 보고됩니다.

호환성 모드를 비활성화하는 방법은 다음과 같습니다.

  1. Excel 실행 파일(또는 바로 가기)을 마우스 오른쪽 버튼으로 클릭하고 속성(Properties)을 선택합니다.
  2. 속성 창에서 호환성(Compatibility) 탭으로 이동한 후, 호환 모드에서 이 프로그램 실행(Run this program in compatibility mode) 체크박스를 해제합니다.

위의 방법들 중 하나를 통해 대부분의 사용자가 이 OLE 오류를 해결할 수 있을 것입니다. 문제가 지속된다면 Office 복구 또는 재설치를 고려해 보시기 바랍니다.