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

Kai kurie „Office“ vartotojai praneša, kad bandant paleisti VBA scenarijų arba bandant paleisti „Excel“ iš BI paleidimo bloko, klaida „Microsoft laukia kitos programos, kad būtų atliktas OLE veiksmas“ . Pranešama, kad problema kilo visose naujausiose „Windows“ versijose, įskaitant „Windows 7“, „Windows 8.1“ ir „Windows 10“)

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

Kas yra OLE veiksmas?

Objektų susiejimo ir įterpimo (OLE) veiksmas iš esmės yra mechanizmas, skirtas padėti įvairioms „Office“ programoms („Word“, „Excel“, „Powerpoint“, „Sharepoint“) susisiekti su kitomis programomis, norint sėkmingai atlikti operaciją.

Kas sukelia klaidą „Microsoft Excel“ laukia, kol kita programa įvykdys OLE veiksmą?

Mes ištyrėme šią problemą ieškodami įvairių vartotojų ataskaitų ir žiūrėdami į oficialią „Microsoft“ dokumentaciją. Mums net pavyko atkartoti problemą vienoje iš mūsų bandymo mašinų.

Jei „Excel“ pateikia ryšio prašymą kitai programai (tarkime „Word“), ji tai daro naudodama OLE objektą ir tada laukia atsakymo iš programos. Jei atsakymas nepatenka į numatytąjį laiko slenkstį, „Excel“ suaktyvina šį į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 paplitę scenarijai, kurie suaktyvins šią klaidą „Microsoft Excel“:

  • DDE protokolas neleidžiamas programoje „Excel“ - ši problema gali kilti dėl to, kad dinaminio duomenų mainų (DDE) protokolas neleidžiamas naudojant „Excel“ nustatymus.
  • Sugadintas „Office“ diegimas - kai kurie paveikti vartotojai pranešė, kad problema buvo išspręsta po naujo „Office“ diegimo ar taisymo.
  • „Adobe Acrobat PDFMaker“ priedas nesuderinamas su „Excel“ - buvo 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 pranešama, kad tai įvyksta tada, 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 šį konkretų klaidos pranešimą, šiame straipsnyje bus pateikti keli trikčių šalinimo veiksmai. Žemiau pateikiami metodai, kuriuos kiti panašioje situacijoje esantys vartotojai sėkmingai panaudojo, kad problema būtų išspręsta.

Norėdami gauti geriausius rezultatus, laikykitės toliau pateiktų metodų, kol pastebėsite taisymą, kuris veiksmingai padės išspręsti problemą. Pradėkime

1 būdas: „Adobe Acrobat PDFMaker“ pašalinimas (jei taikoma)

Kai kuriems vartotojams pavyko pašalinti klaidos pranešimą, pašalinus „Adobe Acrobat PDF Maker“ priedą. Kaip paaiškėja, šis įskiepis gali prieštarauti tam tikroms „Microsoft Excel“ versijoms.

Štai sąrašas su „Office“ versijomis, kurios suderinamos su „PDF Maker“:

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

Pastaba: Galite rasti išsamų „Adobe“ suderinamumo vadovą ( čia ).

Jei šis scenarijus yra tinkamas ir nelabai pasikliaujate „PDF Maker“, greičiausiai problemą galite išspręsti išjungę arba pašalindami „Adobe Acrobat PDFMaker“ priedą.

Čia yra trumpas vadovas, kaip tai padaryti:

Atnaujinimas: Taip pat galite naudoti šį taisymą (čia), kad automatiškai išjungtų „PDFMaker“ priedą. Tai suderinama su kiekviena naujausia „Windows“ versija, įskaitant „Windows 10“, „Windows 8.1“, „Windows 7“ ir „Windows Vista“.

  1. Atidarykite „Microsoft Excel“ ir spustelėkite failą naudodami juostinę juostą.

    Atidarykite „Microsoft Excel“ ir eikite į Failas
  2. Meniu Failas spustelėkite Parinktys (meniu sąrašo apačioje).

    Eikite į Failas> Parinktys
  3. „Excel“ parinkčių meniu spustelėkite „ Priedai“ naudodamiesi kairiuoju meniu. Tada pereikite prie dešinės srities srities, išplėskite išskleidžiamąjį meniu, susietą su Tvarkyti, ir pasirinkite COM priedai . Tada spustelėkite mygtuką Eiti…, kad paleistumėte „ Com Add-ins“ meniu.

    Eikite į priedus, išskleidžiamajame meniu pasirinkite COM priedai ir spustelėkite Eiti
  4. Lauke COM priedai panaikinkite žymėjimą laukelyje, susietuose su „ Acrobat PDFMaker Office COM Addin“, arba pažymėkite jį ir spustelėkite Pašalinti, jei norite jį visiškai ištrinti.
  5. Paleiskite kompiuterį iš naujo ir atkurkite veiksmus, kurie anksčiau sukėlė klaidą, kai bus baigtas kitas paleidimas.

Jei vis dar susiduriate su klaida „Microsoft Excel“ laukia, kol kita programa atliks OLE veiksmą “, pereikite prie kito metodo, pateikto žemiau.

2 būdas: leisti programoms, kurios „Excel“ nustatymuose naudoja DDE

Kaip pranešė daugelis vartotojų, problema gali kilti, jei „Microsoft Excel“ yra sukonfigūruota ignoruoti visas programas, kurios bando susisiekti su „Excel“, naudojant dinaminio duomenų mainų (DDE) protokolą.

Pvz., Tarkime, kad dukart spustelėkite „Excel“ darbaknygę „Windows Explorer“ - kai tik komanda užregistruos, dinaminė duomenų mainai (DDE) bus išsiųsti į „Excel“. Šis keitimasis lieps „Excel“ atidaryti darbaknygę, kurią ką tik spustelėjote.

Jei „Excel“ sukonfigūruota ignoruoti programas, kurios naudoja „ Dynamic Data Exchange“ protokolą, keitimasis neįvyks ir vietoje to pamatysite klaidos pranešimą „Microsoft Excel“ laukia kitos programos, kad jis atliktų OLE veiksmą “ .

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

  1. Atidarykite „Microsoft Excel“ ir spustelėkite failą . Nesvarbu, atidarote naują darbaknygę ar naują dokumentą.

    Atidarykite „Microsoft Excel“ ir eikite į Failas
  2. Meniu Failas spustelėkite kairiojoje srityje esančią parinktį.

    Eikite į Failas> Parinktys
  3. Excel“ parinkčių meniu kairiajame meniu spustelėkite skirtuką „ Advanced “. Tada pereikite prie dešinės srities ir slinkite žemyn, kol pasieksite skyrių Bendra . Kai pateksite į vietą, įsitikinkite, kad nepažymėtas langas, susijęs su Ignoruoti kitas programas, kurios naudoja dinaminį duomenų mainą (DDE) .

    DDE protokolo įgalinimas programoje „Excel“
  4. Spustelėkite Gerai, kad išsaugotumėte pakeitimus, tada paleiskite „Microsoft Excel“. Tada pakartokite operaciją, dėl kurios anksčiau buvo padaryta klaida „Microsoft laukia kitos programos, kad būtų atliktas OLE veiksmas“, ir patikrinkite, ar problema vis dar išlieka.

Jei vis tiek pastebite tą patį klaidos pranešimą, pereikite prie kito metodo, pateikto žemiau.

3 būdas: „Internet Explorer“ (IE) proceso užmušimas

Keli vartotojai, pamatę klaidą „Microsoft laukia kitos programos, kad atliktų OLE veiksmą“, bandant išsaugoti failą, galbūt pamatysite klaidą, nes IE procesas trikdo dinaminio duomenų mainų (DDE) mainus.

Panašioje situacijoje esantys vartotojai pranešė, kad problema buvo išspręsta po to, kai jie rankomis nužudė IE procesą. Čia yra trumpas vadovas, kaip tai padaryti:

  1. Paspauskite Ctrl + Shift + Esc, kad atidarytumėte užduočių tvarkytuvę .
  2. Užduočių tvarkytuvėje eikite į skirtuką Procesai ir sužinokite, ar turite kokį nors aktyvųjį „Internet Explorer“ priklausantį procesą.
  3. Jei matote vieną atidarytą, tiesiog spustelėkite jį dešiniuoju pelės mygtuku ir pasirinkite Baigti užduotį, kad uždarytumėte.

    „Internet Explorer“ (IE) proceso uždarymas
  4. Grįžkite į „Excel“ ir patikrinkite, ar bandant išsaugoti failą vis dar pasitaiko klaida „Microsoft laukia kitos programos, kad būtų atliktas OLE veiksmas“ .

Jei vis tiek patiriate tą pačią klaidą, pereikite prie kito metodo, pateikto žemiau.

4 būdas: „Excel“ programos pranešimų slopinimas

Jei bandant paleisti VBA scenarijų matote klaidos pranešimą, vienas iš būdų būtų panaikinti programos pranešimus naudojant mažą kodo dalį.

Tačiau atminkite, kad tai savaime neišspręs problemos - tai tik būdas išvengti klaidos pranešimo. Tačiau tai bus naudinga, jei jūsų vienintelis tikslas yra užkirsti kelią klaidos pranešimo pasirodymui.

Čia yra trumpas VBA kodo įdėjimo į „Excel“ darbaknygę, kuris panaikins „Excel“ programos pranešimus, vadovas:

  1. Atidarykite savo darbaknygę „Excel“ ir paspauskite Alt + F11, kad atidarytumėte „ Visual Basic Editor“ (VBE) .
  2. Projekto juostoje (kairėje) dešiniuoju pelės mygtuku spustelėkite „ ThisWorkbook“ ir pasirinkite Įterpti> Modulis .

    Dešiniuoju pelės mygtuku spustelėkite „ThisWorkbook“ ir pasirinkite Įterpti> Modulis
  3. Naujai sukurtame modulyje įklijuokite šį kodą (dešinėje ekrano dalyje):
     Asmeninio deklaravimo funkcija „CoRegisterMessageFilter Lib“ ole32 “(„ ByVal IFilterIn As Long “, „ ByRef PreviousFilter “) kaip ilgai viešas antrinis„ KillMessageFilter “()„ Dim IMsgFilter “kaip ilgasis„ CoRegisterMessageFilter 0 “, „ IMsgFilter “pabaiga„ Public Public SubtoreMessageFilter “, „ ImimFilter “, „ ImimFilter “, „ Dim “ 

    Atnaujinimas: Kiti vartotojai pranešė, kad jiems pavyko išvengti klaidos raginimo, naudojant šį VBA kodą:

     Sub CreateXYZ () Dim wdApp As Object Dim wd As Object On Error Atnaujinti kitą Nustatykite wdApp = GetObject (, „Word.Application“), jei Err.Number 0, tada nustatykite wdApp = CreateObject („Word.Application“) Pabaiga, jei dėl klaidos „GoTo“. 0 Nustatykite wd = wdApp.Documents.Open („ThisWorkbook.Path & Application.PathSeparator &„ XYZ template.docm “) wdApp.Visible = Tikroji sritis („ A1: B10 “).„ CopyPicture xlScreen wd.Range.Paste “pabaiga 
  4. Paspauskite Ctrl + S ir spustelėkite Ne, kai pamatysite įspėjimą „Šios funkcijos negali būti išsaugotos darbalaukyje be makrokomandų“ .

    Įspėjimo raginime spustelėkite Ne
  5. Tada pasirinkite tinkamą modifikuotos darbaknygės vietą, nustatydami tinkamą pavadinimą ir įsitikinkite, kad „ Save as type“ yra „ Excel Macro-Enabled Workbook“. Kai viskas bus tvarkoje, spustelėkite „ Išsaugoti“, kad sukurtumėte „ Excel Macro-Enabled Workbook“ .

    „Excel“, įgalintos makrokomandomis, darbaknygės kūrimas
  6. Paspauskite „ Alt + Q“, kad uždarytumėte redaktorių ir grįžtumėte į savo darbaknygę. Grįžę į redaktorių paspauskite „ Alt“ + F8, pasirinkite ką tik sukurtą makrokomandą ir spustelėkite Vykdyti .

Baigę šią procedūrą, nebegalėsite pamatyti šios darbo knygos klaidos „Microsoft Excel laukia kitos programos, kad ji atliktų OLE veiksmą“ (nors ji vis tiek gali įvykti fone).

5 metodas: Išjungti suderinamumo režimą (jei taikoma)

Kai kuriems vartotojams pavyko išspręsti problemą sužinojus, kad vykdomoji „Excel“ programa veikia suderinamumo režimu . Tai gali atsitikti dėl vartotojo rankinės intervencijos ar trečiosios šalies programos.

Jei įtariate, kad „Excel“ veikia suderinamumo režimu, išjunkite jį ir patikrinkite, ar klaida „Microsoft Excel“ laukia, kol kita programa atliks OLE veiksmą “ nebebus rodoma. Paprastai pranešama, kad klaida įvyksta, jei vykdomasis „Excel“ yra sukonfigūruotas veikti suderinamumo režimu su senesne „Windows Vista“.

Čia yra trumpas suderinamumo režimo išjungimo vadovas:

  1. Dešiniuoju pelės mygtuku spustelėkite vykdomąjį „Excel“ (arba nuorodą) ir pasirinkite Ypatybės .

    Dešiniuoju pelės mygtuku spustelėkite vykdomąjį „Excel“ ir pasirinkite Ypatybės
  2. Ypatybių lange eikite į skirtuką Suderinamumas ir panaikinkite žymėjimą, susijusį su Paleisti šią programą suderinamumo režimu .

    Nuimkite žymėjimą nuo Paleisti šią programą suderinamumo režimu

Įdomios Straipsniai