Oireet
Kun Microsoft Excel lataa Automaatio-apuohjelman solun muokkaustilan aikana, Excel epäonnistuu. Tämä ongelma ilmenee vain automaatioapuohjelmissa, jotka on ladattu Exceliin.
Syy
Tämä ongelma voi ilmetä, kun apuohjelma latautuu, jos apuohjelma näyttää lomakkeen tai valintaikkunan tai jos apuohjelma tekee Exceliin automaatiopyynnön, joka yrittää muuttaa Excelin tilaa. Seuraavassa luettelossa on esimerkkejä automaatiopyynnöistä, jotka voivat aiheuttaa Excelin epäonnistumisen, kun sitä kutsutaan automaatioapuohjelmien latautuessa solun muokkaustilan aikana:
-
Muuta nykyistä valintaa ohjelmallisesti. Esimerkki:
Application.ActiveSheet.Range("A1").Select -
Soita Kohteen ominaisuuteen tai menetelmään Windows-kokoelmassa. Esimerkki:
Application.ActiveWindow.Zoom = 200
-
Muuta Excel-asetusta, kuten laskentatilaa. Esimerkki:
Application.CalculationMode = xlManual
Kaikki nämä kohteet ovat esimerkkejä koodiyrityksistä muuttaa Excel-ympäristöä, työkirjaa tai laskentataulukkoa. nämä toiminnot eivät ole sallittuja muokkaustilassa.
Ratkaisu
Älä kokeile edellä mainittuja toimintoja, kun apuohjelma latautuu. Kuormituksen aikana kutsuttavat apuohjelmamenetelmät sisältävät alustusmenetelmän ja, jos Automaatio-apuohjelma ottaa käyttöön IDTExtensibility2-liittymän, myös OnConnection- ja OnStartupComplete-menetelmät.
Tila
Microsoft on vahvistanut, että tämä on virhe Microsoft-tuotteissa, jotka on lueteltu tämän artikkelin alussa.
Lisätietoja
Ohjeet ongelman toistamiseen
-
Aloita uusi ActiveX DLL -projekti Visual Basicissa.
-
Valitse Projekti-valikosta Project1-ominaisuudet. Muuta projektin nimeksi TestAddIn ja valitse sitten OK.
-
Lisää seuraava koodi luokan1 koodimoduuliin:
Private Sub Class_Initialize() MsgBox "Class_Initialize"End Sub
-
Muodosta TestAddIn.dll.
-
Käynnistä uusi työkirja Excelissä.
-
Toimi Microsoft Office Excel 2003:ssa tai Microsoft Excel 2002:ssa seuraavasti:
-
Valitse Työkalut-valikossa Apuohjelmat ja valitse sitten Automaatio.
-
Valitse luettelosta TestAddIn.Class1 ja valitse sitten OK.
-
Valitse Apuohjelmat-valintaikkunassaOK.
Toimi Microsoft Office Excel 2007:ssä seuraavasti:
-
Napsauta Microsoft Office -painiketta ja valitse sittenExcelin asetukset.
-
Valitse Apuohjelmat-välilehti .
-
Valitse Hallinta-luettelosta Excel-apuohjelmat ja valitse sitten Siirry.
-
Valitse Apuohjelmat-valintaikkunassaAutomaatio.
-
Valitse luettelosta TestAddin.Class1 ja valitse sitten OK.
-
Valitse OK.
-
-
Kirjoita =a mihin tahansa soluun. Näyttöön tulee sanomaruutu, jossa on teksti "Class_Initialize".
-
Hylkää viestiruutu valitsemalla OK. Muutaman sekunnin kuluttua Excel epäonnistuu.
Lisätietoja
Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jotta voit tarkastella artikkelia Microsoft Knowledge Base -tietokannassa:
291392 INFO: Excel COM -apuohjelmat ja automaatioapuohjelmien