NUSTATYTI: „Microsoft Excel“ laukia kitos programos, kad atliktų OLE veiksmą

Keli „Office“ vartotojai praneša, kad bandydami paleisti VBA scenarijų arba bandydami paleisti „Excel“ iš BI paleidimo bloko, „Microsoft laukia kitos programos, kad būtų užbaigtas OLE veiksmas“ . Pranešama, kad problema kyla visose naujausiose „Windows“ versijose, įskaitant „Windows 7“, „Windows 8.1“ ir „Windows 10“)

„Microsoft Excel“ laukia kitos programos, kad būtų užbaigtas OLE veiksmas

Kas yra OLE veiksmas?

Objekto susiejimo ir įdėjimo (OLE) veiksmas iš esmės yra mechanizmas, sukurtas padėti įvairioms „Office“ programoms („Word“, „Excel“, „Powerpoint“, „Sharepoint“) bendrauti su kitomis programomis, norint sėkmingai užbaigti operaciją.

Kas sukelia klaidą „Microsoft Excel laukia, kol kita programa užbaigs OLE veiksmą“?

Mes ištyrėme šią problemą, peržiūrėdami įvairias vartotojų ataskaitas ir oficialius „Microsoft“ dokumentus. Mes netgi sugebėjome pakartoti problemą vienoje iš savo bandymų mašinų.

Jei „Excel“ pateikia ryšio užklausą kitai programai (tarkime, „Word“), ji tai daro naudodama OLE objektą ir laukia programos atsakymo. Jei atsakymas negauna numatytojo laiko slenksčio, „Excel“ suaktyvins šį įspėjimą galutiniam vartotojui: „Microsoft Excel laukia, kol kita programa atliks OLE veiksmą“

Nors klaidos pranešimas visada yra tas pats, iš tikrųjų yra keli gana dažni scenarijai, kurie sukels šią konkrečią klaidą „Microsoft Excel“:

  • DDE protokolas yra išjungtas naudojant „Excel“ - ši problema gali kilti, nes „ Dynamic Data Exchange“ (DDE) protokolas išjungtas „Excel“ nustatymuose.
  • Sugadintas „Office“ diegimas - kai kurie paveikti vartotojai pranešė, kad problema išspręsta iš naujo įdiegus arba pataisius visą „Office“ diegimą.
  • „Adobe Acrobat PDFMaker“ priedas prieštarauja „Excel“ . Buvo gauta daug pranešimų apie vartotojus, kurie sugebėjo išspręsti problemą išjungdami arba pašalindami „PDFMaker“ papildinį.
  • IE („Internet Explorer“) procesas trukdo DDE - paprastai tai įvyksta, kai vartotojas bando išsaugoti failą „Microsoft Excel“. Tokiu atveju sprendimas yra uždaryti procesą rankiniu būdu.

Jei šiuo metu stengiatės išspręsti šį klaidos pranešimą, šiame straipsnyje bus pateikti keli trikčių šalinimo veiksmai. Toliau galite pasirinkti metodus, kuriuos kiti panašios situacijos vartotojai sėkmingai naudojo, kad išspręstų problemą.

Norėdami gauti geriausius rezultatus, vadovaukitės toliau pateiktais metodais, kol susidursite su taisymu, kuris veiksmingai padeda išspręsti problemą. Pradėkime

1 metodas: „Adobe Acrobat PDFMaker“ pašalinimas (jei taikoma)

Kai kuriems vartotojams pavyko išspręsti klaidos pranešimą pašalinus „Adobe Acrobat PDF Maker“ priedą. Kaip paaiškėjo, šis papildinys gali prieštarauti tam tikroms „Microsoft Excel“ versijoms.

Čia pateikiamas sąrašas su „Office“ versijomis, suderinamomis su „PDF Maker“:

  • „Office 2010“ („Office 14“) 32 ir 64 bitų
  • „Office 2013“ („Office 15“) 32 ir 64 bitų
  • „Office 2016“ („Office 16“) 32 ir 64 bitų

Pastaba: galite peržiūrėti visą „Adobe“ suderinamumo vadovą ( čia ).

Jei šis scenarijus yra tinkamas ir jūs labai nesikliaujate „PDF Maker“, greičiausiai galite išspręsti problemą išjungdami arba pašalindami „Adobe Acrobat PDFMaker“ priedą.

Čia yra trumpas vadovas, kaip tai padaryti:

Atnaujinimas: taip pat galite naudoti šį „Fix-it“ (čia), kad automatiškai išjungtumėte „PDFMaker“ priedą. Jis suderinamas su kiekviena naujausia „Windows“ versija, įskaitant „Windows 10“, „Windows 8.1“, „Windows 7“ ir „Windows Vista“.

  1. Atidarykite „Microsoft Excel“ ir spustelėkite juostą Failas .Atidarykite „Microsoft Excel“ ir eikite į failą
  2. Meniu Failas spustelėkite Parinktys (meniu sąrašo apačioje).Eikite į Failas> Parinktys
  3. „Excel“ parinkčių meniu kairiajame meniu spustelėkite „ Papildiniai“ . Tada pereikite prie dešiniojo lango, išplėskite išskleidžiamąjį meniu, susietą su „ Tvarkyti“, ir pasirinkite COM priedus . Tada spustelėkite mygtuką Eiti…, kad paleistumėte „ Com“ priedų meniu.Eikite į priedus, išskleidžiamajame meniu pasirinkite COM priedai ir spustelėkite Eiti
  4. Lauke COM priedai panaikinkite žymėjimą laukelyje, susietame su „ Acrobat PDFMaker Office COM“ priedu, arba pažymėkite jį ir spustelėkite Pašalinti, kad jį visiškai ištrintumėte.
  5. Iš naujo paleiskite kompiuterį ir atkurkite veiksmus, kurie anksčiau sukėlė klaidą, kai bus baigtas kitas paleidimas.

Jei vis dar susiduriate su klaida „Microsoft Excel laukia kitos programos, kad būtų užbaigtas OLE veiksmas“ , pereikite prie kito toliau aprašyto metodo.

2 metodas: leidimas programoms, naudojančioms DDE „Excel“ nustatymuose

Kaip pranešė daugelis vartotojų, problema gali kilti, jei „Microsoft Excel“ yra nustatyta ignoruoti visas programas, bandančias bendrauti su „Excel“ naudojant „ Dynamic Data Exchange“ (DDE) protokolą.

Pavyzdžiui, tarkime, kad dukart spustelite „Excel“ darbaknygę „Windows Explorer“ - kai tik komanda užregistruojama, į „Excel“ siunčiamas dinaminis duomenų mainai (DDE). Šis mainas nurodys „Excel“ atidaryti darbaknygę, kurią ką tik dukart spustelėjote.

Jei „Excel“ yra nustatyta ignoruoti programas, naudojančias „ Dynamic Data Exchange“ protokolą, keitimasis neįvyks ir pamatysite klaidos pranešimą „Microsoft Excel laukia kitos programos, kad užbaigtų OLE veiksmą“ .

Laimei, galite lengvai ištaisyti šią problemą, naudodamiesi „Excel“ meniu „ Parinktys“ ir įgalindami DDE protokolą. Čia yra trumpas vadovas, kaip tai padaryti:

  1. Atidarykite „Microsoft Excel“ ir spustelėkite Failas . Nesvarbu, ar atidarote naują darbaknygę, ar naują dokumentą.Atidarykite „Microsoft Excel“ ir eikite į failą
  2. Į File meniu, spustelėkite Parinktys iš kairės-srityje.Eikite į Failas> Parinktys
  3. Excel“ parinkčių meniu kairiajame meniu spustelėkite skirtuką Išplėstinė . Tada pereikite prie dešiniojo lango ir slinkite žemyn, kol pasieksite skiltį Bendra . Nuvykę įsitikinkite, kad nepažymėtas laukelis, susijęs su Ignoruoti kitas programas, naudojančias dinaminį duomenų mainus (DDE) .DDE protokolo įgalinimas programoje „Excel“
  4. Spustelėkite Gerai, kad išsaugotumėte pakeitimus, tada iš naujo paleiskite „Microsoft Excel“. Tada pakartokite operaciją, kuri anksčiau sukėlė klaidą „Microsoft laukia kitos programos, kad užbaigtų OLE veiksmą“ ir patikrinkite, ar problema vis dar kyla.

Jei vis tiek matote tą patį klaidos pranešimą, pereikite prie kito toliau pateikto metodo.

3 metodas: „Internet Explorer“ (IE) proceso nužudymas

Keli vartotojai , bandydami išsaugoti failą, matydami klaidą „Microsoft laukia kitos programos, kad užbaigtų OLE veiksmą“ , gali būti, kad matote klaidą dėl IE proceso, trukdo keistis dinaminio duomenų mainais (DDE) .

Users in a similar situation have reported that the issue was resolved after they killed the IE process manually. Here’s a quick guide on how to do this:

  1. Press Ctrl + Shift + Esc to open Task Manager.
  2. Inside Task Manager, go to the Processes tab and see if you have any process belonging to Internet Explorer that is currently active.
  3. If you see one open, simply right-click on it and choose End task to close it.„Internet Explorer“ (IE) proceso uždarymas
  4. Return to Excel and see if the “Microsoft is waiting for another application to complete an OLE action” error is still occurring when you’re trying to save the file.

If you’re still encountering the same error, move down to the next method below.

Method 4: Suppressing the Excel Application Messaging

If you’re seeing the error message when trying to run a VBA script, one workaround would be to suppress the application messaging by using a tiny piece of code.

But keep in mind that this will not treat the issue itself – It’s only a workaround that prevents the error message from appearing. However, it will be helpful if your only goal is to prevent the error message from appearing.

Here’s a quick guide on inserting a VBA code to excel Workbook that will suppress the excel application messaging:

  1. Open your workbook in Excel and press Alt + F11 to open the Visual Basic Editor (VBE).
  2. In the Project bar (left-hand side), right-click on ThisWorkbook and choose Insert > Module.Dešiniuoju pelės mygtuku spustelėkite „ThisWorkbook“ ir pasirinkite „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.Įspėjimo eilutėje spustelėkite Ne
  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“ makrokomandų leidimo darbaknygės kūrimas
  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.Dešiniuoju pelės mygtuku spustelėkite „Excel“ vykdomąjį failą ir pasirinkite Ypatybės
  2. Lange Ypatybės eikite į skirtuką Suderinamumas ir atžymėkite laukelį, susijusį su Vykdyti šią programą suderinamumo režimu .Panaikinkite žymėjimą Paleisti šią programą suderinamumo režimu