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

  1. Aloita uusi ActiveX DLL -projekti Visual Basicissa.

  2. Valitse Projekti-valikosta Project1-ominaisuudet. Muuta projektin nimeksi TestAddIn ja valitse sitten OK.

  3. Lisää seuraava koodi luokan1 koodimoduuliin:

    Private Sub Class_Initialize()    MsgBox "Class_Initialize"End Sub
  4. Muodosta TestAddIn.dll.

  5. Käynnistä uusi työkirja Excelissä.

  6. Toimi Microsoft Office Excel 2003:ssa tai Microsoft Excel 2002:ssa seuraavasti:

    1. Valitse Työkalut-valikossa Apuohjelmat ja valitse sitten Automaatio.

    2. Valitse luettelosta TestAddIn.Class1 ja valitse sitten OK.

    3. Valitse Apuohjelmat-valintaikkunassaOK.

    Toimi Microsoft Office Excel 2007:ssä seuraavasti:

    1. Napsauta Microsoft Office -painiketta ja valitse sittenExcelin asetukset.

    2. Valitse Apuohjelmat-välilehti .

    3. Valitse Hallinta-luettelosta Excel-apuohjelmat ja valitse sitten Siirry.

    4. Valitse Apuohjelmat-valintaikkunassaAutomaatio.

    5. Valitse luettelosta TestAddin.Class1 ja valitse sitten OK.

    6. Valitse OK.

  7. Kirjoita =a mihin tahansa soluun. Näyttöön tulee sanomaruutu, jossa on teksti "Class_Initialize".

  8. 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

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.