Symptomer
Når Microsoft Excel laster inn et automatiseringstillegg under celleredigeringsmodus, mislykkes Excel. Dette problemet oppstår bare med automatiseringstillegg som har blitt behovsinnlastet i Excel.
Årsak
Dette problemet kan oppstå når et tillegg lastes inn hvis tillegget viser et skjema eller en dialogboks, eller hvis tillegget sender en automatiseringsforespørsel til Excel som prøver å endre tilstanden til Excel. Listen nedenfor inneholder eksempler på automatiseringsforespørsler som kan føre til at Excel mislykkes når det kalles opp når et automatiseringstillegg lastes inn under celleredigeringsmodus:
-
Endre det merkede området programmatisk. For eksempel:
Application.ActiveSheet.Range("A1").Select -
Kall en egenskap eller metode for et element i Windows-samlingen. For eksempel:
Application.ActiveWindow.Zoom = 200
-
Endre en Excel-innstilling, for eksempel beregningsmodus. For eksempel:
Application.CalculationMode = xlManual
Alle disse elementene er eksempler på kodeforsøk for å endre Excel-miljøet, en arbeidsbok eller et regneark. disse handlingstypene er ikke tillatt i redigeringsmodus.
Løsning
Ikke prøv de ovennevnte handlingene mens tillegget lastes inn. Tilleggsmetoder som kalles under innlastingen, inkluderer Initialize-metoden, og hvis automatiseringstillegget implementerer IDTExtensibility2-grensesnittet, også OnConnection- og OnStartupComplete-metodene.
Status
Microsoft har bekreftet at dette er en feil i Microsoft-produktene som er oppført i begynnelsen av denne artikkelen.
Mer informasjon
Fremgangsmåte for å reprodusere problem
-
Start et nytt ActiveX DLL-prosjekt i Visual Basic.
-
Klikk Project1-egenskaper på Prosjekt-menyen. Endre prosjektnavnet til TestAddIn, og klikk deretter OK.
-
Legg til følgende kode i kodemodulen for Klasse1:
Private Sub Class_Initialize() MsgBox "Class_Initialize"End Sub
-
Bygg TestAddIn.dll.
-
Start en ny arbeidsbok i Excel.
-
Følg disse trinnene i Microsoft Office Excel 2003 eller Microsoft Excel 2002:
-
Pek på Tillegg på Verktøy-menyen, og klikk deretter Automatisering.
-
Klikk TestAddIn.Class1 i listen, og klikk deretter OK.
-
Klikk OKi dialogboksen Tillegg.
Følg disse trinnene i Microsoft Office Excel 2007:
-
Klikk Microsoft Office-knappen, og klikk deretterAlternativer for Excel.
-
Klikk fanen Tillegg .
-
Klikk Excel-tillegg i Behandle-listen, og klikk deretter Gå til.
-
KlikkAutomatiseringi dialogboksen Tillegg.
-
Klikk TestAddin.Class1 i listen, og klikk deretter OK.
-
Klikk OK.
-
-
Skriv inn =a i en hvilken som helst celle. En meldingsboks med teksten «Class_Initialize» vises.
-
Klikk OK for å lukke meldingsboksen. Excel mislykkes etter noen sekunder.
Referanser
Hvis du vil ha mer informasjon, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
291392 INFORMASJON: Excel COM-tillegg og automatiseringstillegg