Dodatki se ne naložijo pri uporabi ukaza CreateObject v Excelu

S I M P T O M I

Ko Microsoft Excel odprete kot predmet avtomatizacije OLE z ukazom CreateObject, dodatki, datoteke v imeniku XLStart in privzeti novi delovni zvezek niso naloženi.

V Z R O K

Ko poskušate naložiti dodatke in datoteke, Excel pošlje sporočilo programu, ki kliče, kot je Visual Basic, da še ni pripravljen na izpolnjevanje zahteve in naj poskusi pozneje. Program, ki kliče, morda ne more obdelati te zahteve in nadaljuje z ostalimi ukazi.

Z AČ A S N A R EŠ I T E V

Microsoft ponuja primere za programiranje le za ponazoritev, in sicer brez izrecnih ali naznačenih jamstev. To vključuje, a ni omejeno na naznačena jamstva glede primernosti za prodajo ali določen namen. V tem članku predvidevamo, da poznate programski jezik, ki je uporabljen za primer, in orodja za ustvarjanje procedur ter odpravljanje napak v njih. Microsoftovi inženirji za podporo vam lahko razložijo funkcionalnost posameznega postopka. Ne bodo pa spreminjali primerov, da bi zagotovili dodatno funkcionalnost ali sestavili procedure, s katerimi bi izpolnili vaše posebne zahteve.

Če želite naložiti datoteko dodatka, ko Excel zaženete kot predmet avtomatizacije OLE, dodatek naložite ročno. Primeri tega načina so navedeni v nadaljevanju.

Microsoft Office Excel 2007

Sub LoadAddin()

' Dimension variable xl as object type.
Dim xl As Object

' Activate Microsoft Excel and assign to variable xl.
Set XL = CreateObject("Excel.Application")

' Open the add-in file you want, in this example, XLQUERY.XLAM.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

' If you need to register the functions and commands
' contained in a resource (XLL), use the RegisterXLL method.
' In the example below, all functions of Analys32.xll are
' registered.
' XL.RegisterXLL "Analys32.xll"

' Run any auto macros contained in the add-in file
' Auto macros don't run when you open a file
' using the Open method.
XL.Workbooks("xlquery.xlam").RunAutoMacros 1

Set XL = Nothing
End Sub

Microsoft Office Excel 2003 in prejšnje različice Excela

Sub LoadAddin()

' Dimension variable xl as object type.
Dim xl As Object

' Activate Microsoft Excel and assign to variable xl.
Set XL = CreateObject("Excel.Application")

' Open the add-in file you want, in this example, XLQUERY.XLA.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

' If you need to register the functions and commands
' contained in a resource (XLL), use the RegisterXLL method.
' In the example below, all functions of Analys32.xll are
' registered.
' XL.RegisterXLL "Analys32.xll"

' Run any auto macros contained in the add-in file
' Auto macros don't run when you open a file
' using the Open method.
XL.Workbooks("xlquery.xla").RunAutoMacros 1

Set XL = Nothing
End Sub

D O D A T N E I N F O R M A C I J E

Excel ne naloži dodatkov ali datotek v imeniku XLStart, ko ga pokličete kot predmet avtomatizacije OLE, zato imate popoln nadzor nad postopkom nalaganja. Če želite, da se dodatek naloži, ga lahko naložite ročno.

To vedenje pomeni tudi, da nobene napake makrov, opozorila o zaklenjenih datotekah ali opozorila o datotekah samo za branje ne preprečujejo nalaganja Excela, ko ga pokliče ukaz CreateObject. Druga prednost tega vedenja je, da se Excel nalaga manj časa kot takrat, ko se hkrati nalagajo še dodatki ali datoteke.

S K L I C I

Če želite več informacij o pridobivanju pomoči za Visual Basic for Applications, kliknite to številko članka iz Microsoftove zbirke znanja:

226118 Seznam virov, s katerimi se naučite programirati v programu Visual Basic for Applications (Ta povezava lahko vodi k besedilu, ki je delno ali v celoti v angleščini)
Lastnosti

ID članka: 213489 – Zadnji pregled: 18. sep. 2011 – Revizija: 1

Povratne informacije