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

Traduceri articole Traduceri articole
ID articol: 213489 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

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ă)

Proprietă?i

ID articol: 213489 - Ultima examinare: 18 septembrie 2011 - Revizie: 2.0
SE APLICĂ LA:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
Cuvinte cheie: 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489

Trimite?i feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com