Useat Office-käyttäjät ilmoittavat saavansa "Microsoft odottaa toisen sovelluksen suorittavan OLE-toiminnon" -virheen yritettäessä suorittaa VBA-komentosarjaa tai kun yritetään suorittaa Excel BI: n käynnistysalustalta. Ongelma on ilmoitettu esiintyvän kaikissa uusimmissa Windows-versioissa, mukaan lukien Windows 7, Windows 8.1 ja Windows 10)
Mikä on OLE-toiminta?
Object Linking & Embedding (OLE) -toiminto on pohjimmiltaan mekanismi, joka on suunniteltu auttamaan erilaisia Office-sovelluksia (Word, Excel, Powerpoint, Sharepoint) kommunikoimaan muiden sovellusten kanssa operaation onnistuneeksi suorittamiseksi.
Mikä aiheuttaa 'Microsoft Excel odottaa toisen sovelluksen suorittavan OLE-toiminnon' -virheen?
Tutkimme tätä ongelmaa tarkastelemalla erilaisia käyttäjäraportteja ja tarkastelemalla Microsoftin virallista dokumentaatiota. Onnistuimme toistamaan ongelman yhdellä testauskoneistamme.
Jos Excel lähettää viestintäpyynnön toiselle sovellukselle (sanotaan Word), se tekee sen käyttämällä OLE-objektia ja odottaa vastausta sovelluksesta. Jos vastaus ei saapu oletusajalle, Excel laukaisee loppukäyttäjälle seuraavan varoituksen: 'Microsoft Excel odottaa toista sovellusta suorittamaan OLE-toiminnon'
Vaikka virheilmoitus on aina sama, on olemassa muutama melko yleinen skenaario, joka laukaisee tämän virheen Microsoft Excelissä:
- DDE-protokolla on poistettu käytöstä Excelistä - Tämä ongelma saattaa ilmetä, koska DDE (Dynamic Data Exchange) -protokolla on poistettu käytöstä Excelin asetuksista.
- Vioittunut Office-asennus - Jotkut asianomaiset käyttäjät ovat ilmoittaneet, että ongelma on ratkaistu, kun he ovat asentaneet tai korjaaneet koko Office-asennuksen.
- Adobe Acrobat PDFMaker -apuohjelma on ristiriidassa Excelin kanssa - On ollut useita raportteja käyttäjistä, jotka ovat onnistuneet ratkaisemaan ongelman poistamalla käytöstä tai poistamalla PDFMaker-laajennuksen.
- IE (Internet Explorer) -prosessi häiritsee DDE: tä - Tämän ilmoitetaan yleensä tapahtuvan, kun käyttäjä yrittää tallentaa tiedoston Microsoft Exceliin. Tässä tapauksessa ratkaisu on sulkea prosessi manuaalisesti.
Jos yrität parhaillaan ratkaista tätä virhesanomaa, tässä artikkelissa on valikoima vianetsintävaiheita. Alla on valikoima menetelmiä, joita muut samanlaisessa tilanteessa olevat käyttäjät ovat onnistuneesti käyttäneet ongelman ratkaisemiseksi.
Saat parhaat tulokset seuraamalla alla olevia menetelmiä, kunnes kohtaat korjauksen, joka on tehokas ongelman ratkaisemisessa. Aloitetaanpa
Tapa 1: Adobe Acrobat PDFMakerin asennuksen poistaminen (jos käytettävissä)
Jotkut käyttäjät ovat onnistuneet ratkaisemaan virhesanoman poistamalla Adobe Acrobat PDF Maker -apuohjelman. Kuten käy ilmi, tämä laajennus voi olla ristiriidassa tiettyjen Microsoft Excel -versioiden kanssa.
Tässä on luettelo PDF Makerin kanssa yhteensopivista Office-versioista:
- Office 2010 (Office 14) 32- ja 64-bittinen
- Office 2013 (Office 15) 32- ja 64-bittinen
- Office 2016 (Office 16) 32- ja 64-bittinen
Huomaa: Voit lukea Adoben täydellisen yhteensopivuusoppaan ( täältä ).
Jos tämä skenaario on käytettävissä, etkä luota PDF Makeriin niin kovasti, voit todennäköisesti ratkaista ongelman joko poistamalla käytöstä tai poistamalla Adobe Acrobat PDFMaker -apuohjelman.
Tässä on pikaopas siitä, miten tämä tehdään:
Päivitys: Voit käyttää tätä Fix-it-ohjelmaa (täällä) myös poistaa PDFMaker-apuohjelman automaattisesti käytöstä. Se on yhteensopiva kaikkien viimeaikaisten Windows-versioiden kanssa, mukaan lukien Windows 10, Windows 8.1, Windows 7 ja Windows Vista.
- Avaa Microsoft Excel ja napsauta Tiedosto- valintanauhaa.
- Napsauta Tiedosto-valikossa Asetukset (valikkoluettelon alaosassa).
- Napsauta Excel-asetukset-valikossa Apuohjelmat vasemmanpuoleista valikkoa käyttämällä. Seuraavaksi siirtyvät oikealla ruudussa laajentaa pudotusvalikosta liittyvät Hallitse ja valitse COM-apuohjelmia . Napsauta sitten Go… -painiketta käynnistääksesi Com-apuohjelmat- valikon.
- Poista joko COM-apuohjelmat-ruudusta valintaruutu, joka liittyy Acrobat PDFMaker Office COM -lisäosiin, tai valitse se ja napsauta Poista poistaaksesi sen kokonaan.
- Käynnistä tietokone uudelleen ja luo vaiheet, jotka aiemmin tuottivat virheen, kun seuraava käynnistys on valmis.
Jos kohtaat edelleen 'Microsoft Excel odottaa toisen sovelluksen suorittavan OLE-toiminnon' -virheen, siirry seuraavaan alla olevaan menetelmään.
Tapa 2: DDE: tä käyttävien sovellusten salliminen Excelin asetuksissa
Kuten monet käyttäjät ovat ilmoittaneet, ongelma saattaa ilmetä, jos Microsoft Excel on määritetty jättämään huomiotta kaikki sovellukset, jotka yrittävät kommunikoida Excelin kanssa Dynamic Data Exchange (DDE) -protokollaa käyttäen.
Oletetaan esimerkiksi, että kaksoisnapsautat Excel-työkirjaa Resurssienhallinnassa - heti kun komento rekisteröityy, dynaaminen tiedonvaihto (DDE) lähetetään Exceliin. Tämä vaihto kehottaa Exceliä avaamaan työkirjan, jota olet juuri kaksoisnapsauttanut.
Jos Excel on määritetty jättämään huomiotta Dynamic Data Exchange -protokollaa käyttävät sovellukset , vaihtoa ei tapahdu ja näet sen sijaan 'Microsoft Excel odottaa toisen sovelluksen suorittavan OLE-toiminnon' -virhesanoman.
Onneksi voit korjata ongelman helposti siirtymällä Excelin Asetukset- valikkoon ja ottamalla DDE-protokollan käyttöön. Tässä on pikaopas siitä, miten tämä tehdään:
- Avaa Microsoft Excel ja napsauta Tiedosto . Ei ole väliä, avaatko uuden työkirjan vai uuden asiakirjan.
- Valitse Tiedosto -valikosta, klikkaa Options vasemmasta ruudusta.
- Valitse Excelin asetukset -valikosta on Lisäasetukset välilehti vasemmasta valikosta. Siirry sitten oikeaan ruutuun ja selaa alaspäin, kunnes pääset Yleinen- osioon. Kun olet päässyt sinne, varmista, että Ohita muita sovelluksia, jotka käyttävät dynaamista tiedonvaihtoa (DDE) -valintaruutua ei ole valittu.
- Tallenna muutokset napsauttamalla OK ja käynnistä sitten Microsoft Excel uudelleen. Toista sitten toimenpide, joka aiheutti aiemmin "Microsoft odottaa toisen sovelluksen suorittavan OLE-toiminnon" -virheen ja tarkista, esiintyykö ongelmaa edelleen.
Jos kohtaat edelleen saman virheilmoituksen, siirry seuraavaan alla olevaan menetelmään.
Tapa 3: Internet Explorer (IE) -prosessin tappaminen
Useat käyttäjät, jotka näkevät "Microsoft odottaa toisen sovelluksen suorittavan OLE-toiminnon" -virheen yritettäessä tallentaa tiedostoa, saatat nähdä virheen IE-prosessin takia häiritsevän dynaamista tiedonvaihtoa (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:
- Press Ctrl + Shift + Esc to open Task Manager.
- Inside Task Manager, go to the Processes tab and see if you have any process belonging to Internet Explorer that is currently active.
- If you see one open, simply right-click on it and choose End task to close it.
- 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:
- Open your workbook in Excel and press Alt + F11 to open the Visual Basic Editor (VBE).
- In the Project bar (left-hand side), right-click on ThisWorkbook and choose Insert > Module.
- 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
- Press Ctrl + S and click No when you see the “The following features cannot be saved in macro-free workbook” warning.
- 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.
- 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:
- Right-click the Excel executable (or the shortcut) and choose Properties.
- Vuonna Ominaisuudet ikkunassa, siirry Yhteensopivuus -välilehti ja poista liittyvä kenttä Suorita ohjelma yhteensopivuustilassa .