Επιδιόρθωση: Το Microsoft Excel περιμένει μια άλλη εφαρμογή για την ολοκλήρωση μιας ενέργειας OLE

Αρκετοί χρήστες του Office αναφέρουν ότι λαμβάνουν το σφάλμα "Η Microsoft περιμένει μια άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE" όταν προσπαθούν να εκτελέσουν ένα σενάριο VBA ή όταν προσπαθούν να εκτελέσουν το Excel από μια εκκίνηση BI. Το ζήτημα αναφέρεται ότι παρουσιάζεται σε όλες τις πρόσφατες εκδόσεις των Windows, συμπεριλαμβανομένων των Windows 7, Windows 8.1 και Windows 10)

Το Microsoft Excel περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE

Τι είναι μια δράση OLE;

Η ενέργεια Object Linking & Embedding (OLE) είναι ουσιαστικά ένας μηχανισμός που έχει σχεδιαστεί για να βοηθά διάφορες εφαρμογές του Office (Word, Excel, Powerpoint, Sharepoint) να επικοινωνούν με άλλες εφαρμογές προκειμένου να ολοκληρωθεί με επιτυχία μια λειτουργία.

Τι προκαλεί το σφάλμα "Το Microsoft Excel περιμένει άλλη εφαρμογή να ολοκληρώσει μια ενέργεια OLE";

Διερευνήσαμε αυτό το συγκεκριμένο ζήτημα εξετάζοντας διάφορες αναφορές χρηστών και εξετάζοντας την επίσημη τεκμηρίωση της Microsoft. Καταφέραμε να επαναλάβουμε το ζήτημα σε έναν από τους μηχανισμούς δοκιμών μας

Εάν το Excel εκδώσει ένα αίτημα επικοινωνίας σε άλλη εφαρμογή (ας πούμε το Word), το κάνει χρησιμοποιώντας το αντικείμενο OLE και στη συνέχεια περιμένει την απάντηση από την εφαρμογή. Εάν η απάντηση δεν φτάσει στο προεπιλεγμένο χρονικό όριο, το Excel θα ενεργοποιήσει την ακόλουθη προειδοποίηση στον τελικό χρήστη: "Το Microsoft Excel περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE"

Παρόλο που το μήνυμα σφάλματος είναι πάντα το ίδιο, στην πραγματικότητα υπάρχει ένα αρκετά κοινό σενάριο που θα προκαλέσει αυτό το συγκεκριμένο σφάλμα στο Microsoft Excel:

  • Το πρωτόκολλο DDE είναι απενεργοποιημένο από το Excel - Αυτό το ζήτημα ενδέχεται να προκύψει επειδή το πρωτόκολλο Dynamic Data Exchange (DDE) είναι απενεργοποιημένο από τις ρυθμίσεις του Excel.
  • Κατεστραμμένη εγκατάσταση του Office - Ορισμένοι επηρεαζόμενοι χρήστες ανέφεραν ότι το πρόβλημα επιλύθηκε μετά την επανεγκατάσταση ή την επιδιόρθωση ολόκληρης της εγκατάστασης του Office.
  • Το πρόσθετο Adobe Acrobat PDFMaker έρχεται σε διένεξη με το Excel - Υπήρξαν πολλές αναφορές χρηστών που κατάφεραν να επιλύσουν το ζήτημα απενεργοποιώντας ή απεγκαθιστώντας την προσθήκη PDFMaker.
  • Η διαδικασία IE (Internet Explorer) παρεμβαίνει στο DDE - Αυτό συνήθως αναφέρεται ότι συμβαίνει όταν ο χρήστης προσπαθεί να αποθηκεύσει ένα αρχείο στο Microsoft Excel. Σε αυτήν την περίπτωση, η λύση είναι να κλείσετε τη διαδικασία χειροκίνητα.

Εάν αυτήν τη στιγμή προσπαθείτε να επιλύσετε αυτό το συγκεκριμένο μήνυμα σφάλματος, αυτό το άρθρο θα σας παρέχει μια επιλογή βημάτων αντιμετώπισης προβλημάτων. Παρακάτω έχετε μια επιλογή μεθόδων που άλλοι χρήστες σε παρόμοια κατάσταση έχουν χρησιμοποιήσει με επιτυχία για να επιλύσουν το πρόβλημα.

Για τα καλύτερα αποτελέσματα, ακολουθήστε τις παρακάτω μεθόδους, έως ότου αντιμετωπίσετε μια επιδιόρθωση που είναι αποτελεσματική για την επίλυση του προβλήματος. Ας ξεκινήσουμε

Μέθοδος 1: Απεγκατάσταση του Adobe Acrobat PDFMaker (εάν υπάρχει)

Ορισμένοι χρήστες κατάφεραν να επιλύσουν το μήνυμα σφάλματος καταργώντας την εγκατάσταση του πρόσθετου Adobe Acrobat PDF Maker. Όπως αποδεικνύεται, αυτό το πρόσθετο έχει τη δυνατότητα σύγκρουσης με ορισμένες εκδόσεις του Microsoft Excel.

Ακολουθεί μια λίστα με εκδόσεις του Office που είναι συμβατές με το PDF Maker:

  • Office 2010 (Office 14) 32 bit και 64 bit
  • Office 2013 (Office 15) 32 bit και 64 bit
  • Office 2016 (Office 16) 32 bit και 64 bit

Σημείωση: Μπορείτε να συμβουλευτείτε τον πλήρη οδηγό συμβατότητας της Adobe ( εδώ ).

Εάν αυτό το σενάριο ισχύει και δεν βασίζεστε σε μεγάλο βαθμό στον Δημιουργό PDF, πιθανότατα μπορείτε να επιλύσετε το πρόβλημα απενεργοποιώντας ή απεγκαθιστώντας το πρόσθετο Adobe Acrobat PDFMaker.

Ακολουθεί ένας γρήγορος οδηγός για το πώς να το κάνετε αυτό:

Ενημέρωση: Μπορείτε επίσης να χρησιμοποιήσετε αυτό το Fix-it (εδώ) για να απενεργοποιήσετε αυτόματα το πρόσθετο PDFMaker αυτόματα. Είναι συμβατό με κάθε πρόσφατη έκδοση των Windows, συμπεριλαμβανομένων των Windows 10, Windows 8.1, Windows 7 και Windows Vista.

  1. Ανοίξτε το Microsoft Excel και κάντε κλικ στο Αρχείο χρησιμοποιώντας τη γραμμή κορδέλας.Ανοίξτε το Microsoft Excel και μεταβείτε στο Αρχείο
  2. Από το μενού Αρχείο, κάντε κλικ στο Επιλογές (στο κάτω μέρος της λίστας μενού).Μεταβείτε στο Αρχείο> Επιλογές
  3. Στο μενού Επιλογές του Excel, κάντε κλικ στο Πρόσθετα χρησιμοποιώντας το αριστερό μενού. Στη συνέχεια, μεταβείτε στο δεξιό τμήμα του παραθύρου, αναπτύξτε το αναπτυσσόμενο μενού που σχετίζεται με τη Διαχείριση και επιλέξτε COM Πρόσθετα . Στη συνέχεια, κάντε κλικ στο κουμπί Go… για να ξεκινήσετε το μενού Com Add-ins .Μεταβείτε στα Πρόσθετα, επιλέξτε Πρόσθετα COM από το αναπτυσσόμενο μενού και κάντε κλικ στο Μετάβαση
  4. Στο πλαίσιο πρόσθετων COM, αποεπιλέξτε το πλαίσιο που σχετίζεται με το Acrobat PDFMaker Office COM Addin ή επιλέξτε το και κάντε κλικ στην επιλογή Κατάργηση για να το διαγράψετε πλήρως.
  5. Επανεκκινήστε τον υπολογιστή σας και δημιουργήστε ξανά τα βήματα που προκαλούσαν προηγουμένως το σφάλμα μόλις ολοκληρωθεί η επόμενη εκκίνηση.

Εάν εξακολουθείτε να αντιμετωπίζετε το σφάλμα "Το Microsoft Excel περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE" , μεταβείτε στην επόμενη μέθοδο παρακάτω.

Μέθοδος 2: Επιτρέποντας εφαρμογές που χρησιμοποιούν DDE στις ρυθμίσεις του Excel

Όπως έχουν αναφέρει πολλοί χρήστες, το ζήτημα ενδέχεται να προκύψει εάν το Microsoft Excel έχει ρυθμιστεί ώστε να αγνοεί τυχόν εφαρμογές που προσπαθούν να επικοινωνήσουν με το Excel χρησιμοποιώντας το πρωτόκολλο Dynamic Data Exchange (DDE) .

Για παράδειγμα, ας υποθέσουμε ότι κάνετε διπλό κλικ σε ένα βιβλίο εργασίας του Excel στην Εξερεύνηση των Windows - μόλις καταχωρηθεί η εντολή, αποστέλλεται μια δυναμική ανταλλαγή δεδομένων (DDE) στο Excel. Αυτή η ανταλλαγή θα δώσει εντολή στο Excel να ανοίξει το βιβλίο εργασίας που μόλις κάνατε διπλό κλικ.

Εάν το Excel έχει ρυθμιστεί για να αγνοεί εφαρμογές που χρησιμοποιούν το πρωτόκολλο Dynamic Data Exchange , η ανταλλαγή δεν θα συμβεί και θα δείτε το μήνυμα σφάλματος "Το Microsoft Excel περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE" .

Ευτυχώς, μπορείτε εύκολα να διορθώσετε αυτό το ζήτημα, μεταβαίνοντας στο μενού Επιλογές του Excel και ενεργοποιώντας το πρωτόκολλο DDE. Ακολουθεί ένας γρήγορος οδηγός για το πώς να το κάνετε αυτό:

  1. Ανοίξτε το Microsoft Excel και κάντε κλικ στο Αρχείο . Δεν έχει σημασία αν ανοίξετε ένα νέο βιβλίο εργασίας ή ένα νέο έγγραφο.Ανοίξτε το Microsoft Excel και μεταβείτε στο Αρχείο
  2. Στο μενού Αρχείο , κάντε κλικ στο Επιλογές από το αριστερό παράθυρο.Μεταβείτε στο Αρχείο> Επιλογές
  3. Στο μενού Επιλογές του Excel , κάντε κλικ στην καρτέλα Για προχωρημένους από το αριστερό μενού. Στη συνέχεια, μετακινηθείτε προς τα δεξιά και μετακινηθείτε προς τα κάτω μέχρι να φτάσετε στην ενότητα Γενικά . Μόλις φτάσετε εκεί, βεβαιωθείτε ότι το πλαίσιο που σχετίζεται με Παράβλεψη άλλων εφαρμογών που χρησιμοποιούν το Dynamic Data Exchange (DDE) δεν είναι επιλεγμένο.Ενεργοποίηση του πρωτοκόλλου DDE στο Excel
  4. Κάντε κλικ στο Ok για να αποθηκεύσετε τις αλλαγές και, στη συνέχεια, κάντε επανεκκίνηση του Microsoft Excel. Στη συνέχεια, επαναλάβετε τη λειτουργία που προκαλούσε προηγουμένως το σφάλμα "Η Microsoft περιμένει άλλη εφαρμογή να ολοκληρώσει μια ενέργεια OLE" και δείτε εάν το ζήτημα εξακολουθεί να παρουσιάζεται.

Εάν εξακολουθείτε να αντιμετωπίζετε το ίδιο μήνυμα σφάλματος, προχωρήστε στην επόμενη μέθοδο παρακάτω.

Μέθοδος 3: Σκοτώνοντας τη διαδικασία του Internet Explorer (IE)

Πολλοί χρήστες που βλέπουν το σφάλμα "Η Microsoft περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE" όταν προσπαθούν να αποθηκεύσουν το αρχείο, ενδέχεται να βλέπετε το σφάλμα επειδή μια διαδικασία IE παρεμβαίνει στην ανταλλαγή Dynamic Data Exchange (DDE) .

Οι χρήστες σε παρόμοια κατάσταση ανέφεραν ότι το πρόβλημα επιλύθηκε αφού σκότωσαν τη διαδικασία IE με μη αυτόματο τρόπο. Ακολουθεί ένας γρήγορος οδηγός για το πώς να το κάνετε αυτό:

  1. Πατήστε Ctrl + Shift + Esc για να ανοίξετε τη Διαχείριση εργασιών .
  2. Μέσα στη Διαχείριση εργασιών, μεταβείτε στην καρτέλα Διαδικασίες και δείτε εάν έχετε κάποια διαδικασία που ανήκει στον Internet Explorer και είναι ενεργή αυτήν τη στιγμή.
  3. Εάν δείτε ένα ανοιχτό, απλώς κάντε δεξί κλικ πάνω του και επιλέξτε Τερματισμός εργασίας για να το κλείσετε.Κλείσιμο της διαδικασίας του Internet Explorer (IE)
  4. Επιστρέψτε στο Excel και δείτε εάν το σφάλμα "Η Microsoft περιμένει άλλη εφαρμογή για να ολοκληρώσει μια ενέργεια OLE" εξακολουθεί να εμφανίζεται όταν προσπαθείτε να αποθηκεύσετε το αρχείο.

Εάν εξακολουθείτε να αντιμετωπίζετε το ίδιο σφάλμα, μεταβείτε στην επόμενη μέθοδο παρακάτω.

Μέθοδος 4: Καταστολή της εφαρμογής μηνυμάτων του Excel

Εάν βλέπετε το μήνυμα σφάλματος όταν προσπαθείτε να εκτελέσετε ένα σενάριο VBA, ένας τρόπος αντιμετώπισης θα ήταν να καταργήσετε τα μηνύματα της εφαρμογής χρησιμοποιώντας ένα μικρό κομμάτι κώδικα.

Ωστόσο, λάβετε υπόψη ότι αυτό δεν θα αντιμετωπίσει το ίδιο το ζήτημα - Είναι μόνο μια λύση που αποτρέπει την εμφάνιση του μηνύματος σφάλματος. Ωστόσο, θα είναι χρήσιμο εάν ο μόνος στόχος σας είναι να αποτρέψετε την εμφάνιση του μηνύματος σφάλματος.

Ακολουθεί ένας γρήγορος οδηγός για την εισαγωγή κώδικα VBA για το Excel Workbook που θα καταστέλλει τα μηνύματα εφαρμογής excel:

  1. Ανοίξτε το βιβλίο εργασίας σας στο Excel και πατήστε Alt + F11 για να ανοίξετε το Visual Basic Editor (VBE) .
  2. In the Project bar (left-hand side), right-click on ThisWorkbook and choose Insert > Module.Κάντε δεξί κλικ στο ThisWorkbook και επιλέξτε Insert> Module
  3. In the newly created module, paste the following code (in the right section of the screen):
    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

    Update: Other users have reported that they managed to prevent the error prompt from appearing by using the following VBA code:

    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. Press Ctrl + S and click No when you see the “The following features cannot be saved in macro-free workbook” warning.Κάντε κλικ στο Όχι στη γραμμή προειδοποίησης
  5. Then, choose a suitable location for the modified workbook set a proper name and make sure that the Save as type is set to Excel Macro-Enabled Workbook. Once everything is in order, click on Save to create the Excel Macro-Enabled Workbook.Δημιουργία βιβλίου εργασίας Excel με δυνατότητα μακροεντολής
  6. Press Alt + Q to close the editor and go back to your workbook. Once you’re back in your editor press Alt + F8, select the Macro that you’ve just created and click Run.

Once this procedure is complete, you should no longer see the ‘Microsoft Excel is waiting for another application to complete an OLE action’ error with this WorkBook (even though it might still occur in the background).

Method 5: Disable Compatibility Mode (if applicable)

Some users have managed to resolve the issue after discovering that the Excel executable was running in Compatibility mode. This can happen due to manual user intervention or a 3rd party application.

If you suspect that Excel is running in compatibility mode, disable it and see if the ‘Microsoft Excel is waiting for another application to complete an OLE action’ error stops appearing. Typically, the error is reported to occur if the Excel executable is configured to run in Compatibility mode with Windows Vista and older.

Here’s a quick guide on disabling Compatibility Mode:

  1. Right-click the Excel executable (or the shortcut) and choose Properties.Κάντε δεξί κλικ στο εκτελέσιμο Excel και επιλέξτε Ιδιότητες
  2. Στο παράθυρο Ιδιότητες , μεταβείτε στην καρτέλα Συμβατότητα και καταργήστε την επιλογή του πλαισίου που σχετίζεται με Εκτέλεση αυτού του προγράμματος σε λειτουργία συμβατότητας .Καταργήστε την επιλογή Εκτέλεση αυτού του προγράμματος σε λειτουργία συμβατότητας