Momentan sunteți offline, așteptați să vă reconectați la internet

Programele de completare nu se încarcă atunci când utilizați comanda CreateObject în Excel

SIMPTOME
Când accesați Microsoft Excel ca obiect OLE Automation utilizând comanda CreateObject, programele de completare, fișierele din directorul XLStart și registrul de lucru nou implicit nu se încarcă.
CAUZĂ
Când încercați să încărcați programe de completare și fișiere, Excel trimite un mesaj aplicației apelante, cum ar fi Visual Basic, afirmând că nu este pregătit să răspundă la solicitare și că trebuie să se încerce mai târziu. Este posibil ca aplicația apelantă să nu poată gestiona această solicitare și să continue cu restul de comenzi.
REMEDIERE
Microsoft furnizează exemple de programare doar ca exemplificare, fără garanție expresă sau implicită. Aceasta include, dar nu se limitează la garanții de vandabilitate sau de potrivire la un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare care se expune și cu instrumentele utilizate pentru a crea și a depana proceduri. Specialiștii în asistență de la Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri. Însă, ei nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară și nu vor construi proceduri pentru a răspunde cerințelor dvs. specifice.

Pentru a încărca un fișier program de completare când executați Excel ca obiect OLE Automation, încărcați programul de completare în mod manual. Mai jos se află exemple de aplicare a acestei metode.

Microsoft Office Excel 2007

Sub LoadAddin()   ' Se dimensionează variabila xl cu tipul obiect.   Dim xl As Object   ' Se activează Microsoft Excel și se atribuie variabilei xl.   Set XL = CreateObject("Excel.Application")   ' Se deschide fișierul program de completare dorit, în acest exemplu XLQUERY.XLAM.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")   ' Dacă aveți nevoie să înregistrați funcții și comenzi   ' dintr-o resursă (XLL), utilizați metoda RegisterXLL.   ' În exemplul de mai jos toate funcțiile din Analys32.xll sunt   ' înregistrate.   ' XL.RegisterXLL "Analys32.xll"   ' Execută orice macrocomenzi automate din fișierul programului de completare   ' Macrocomenzile automate nu se execută la deschiderea unui fișier   ' cu metoda Open.   XL.Workbooks("xlquery.xlam").RunAutoMacros 1   Set XL = Nothing End Sub				

Microsoft Office Excel 2003 și versiuni anterioare de Excel

Sub LoadAddin()   ' Se dimensionează variabila xl cu tipul obiect.   Dim xl As Object   ' Se activează Microsoft Excel și se atribuie variabilei xl.   Set XL = CreateObject("Excel.Application")   ' Se deschide fișierul program de completare dorit, în acest exemplu XLQUERY.XLA.   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")   ' Dacă aveți nevoie să înregistrați funcții și comenzi   ' dintr-o resursă (XLL), utilizați metoda RegisterXLL.   ' În exemplul de mai jos toate funcțiile din Analys32.xll sunt   ' înregistrate.   ' XL.RegisterXLL "Analys32.xll"   ' Execută orice macrocomenzi automate din fișierul programului de completare   ' Macrocomenzile automate nu se execută la deschiderea unui fișier   ' cu metoda Open.   XL.Workbooks("xlquery.xla").RunAutoMacros 1   Set XL = Nothing End Sub				
INFORMAŢII SUPLIMENTARE
Deoarece Excel nu încarcă programe de completare sau fișiere în directorul XLStart când îl apelați ca obiect OLE Automation, aveți control deplin asupra procesului de încărcare. Dacă doriți să se încarce un program de completare, aveți posibilitatea să îl încărcați în mod manual.

Acest comportament înseamnă și că Excel nu va fi împiedicat să pornească datorită unor erori de macrocomenzi, avertizări de fișiere blocate sau avertizări de fișier doar în citire atunci când este apelat de comanda CreateObject. Alt beneficiu al acestui comportament este că încărcarea Excel durează mai puțin decât atunci când se încarcă programe de completare sau fișiere.
REFERINŢE
Pentru mai multe informații despre cum să obțineți ajutor cu Visual Basic for Applications, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
226118 Lista de resurse disponibile pentru a vă ajuta să învățați programarea Visual Basic for Applications (articolul poate să fie în limba engleză)
personal.xls personal macro workbook XL2000 XL2002 XL2003 XL2007
Proprietăți

ID articol: 213489 - Ultima examinare: 09/18/2011 23:19:00 - Revizie: 2.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition

  • kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
Feedback