Dodaci se ne učitavaju kad se koristi naredba CreateObject u programu Excel

S I M P T O M I

Prilikom otvaranja programa Microsoft Excel kao objekta OLE automatizacije pomoću naredbe CreateObject ne učitavaju se dodaci, odnosno datoteke koje se nalaze u imeniku XLStart ni zadana nova radna knjiga.

U Z R O K

Pri pokušaju učitavanja dodataka i datoteka, Excel šalje poruku pozivnom programu, kao što je Visual Basic, da ne može odgovoriti na zahtjev te da kasnije pokušate ponovno. Pozivni program možda neće moći riješiti taj zahtjev i nastaviti s ostalim naredbama.

Z A O B I L AŽ E N J E

Microsoft navodi primjere programiranja samo radi ilustracije, bez jamstva, bilo izričitog, bilo impliciranog. To obuhvaća, no nije ograničeno, implicirana jamstva mogućnosti prodaje ili prikladnosti za određenu svrhu. U članku se pretpostavlja da poznajete programski jezik koji se koristi u primjeru i alate koji se koriste za stvaranje i ispravljanje pogrešaka u postupcima. Microsoftovi inženjeri za podršku mogu objasniti funkciju određenog postupka. Neće, međutim, mijenjati te primjere da bi ponudili dodatne funkcije niti prilagođavati postupke vašim specifičnim potrebama.

Da biste učitali datoteku dodatka prilikom pokretanja programa Excel kao objekta OLE automatizacije, učitajte dodatak ručno. Primjeri za tu metodu glase kako slijedi.

Microsoft Office Excel 2007

Sub LoadAddin()

' Varijabla dimenzije xl kao vrsta objekta.
Dim xl As Object

' Aktivirajte Microsoft Excel i dodijelite ga varijabli xl.
Set XL = CreateObject("Excel.Application")

' Otvorite željenu datoteku dodatka, u ovom primjeru XLQUERY.XLAM.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

' Ako je potrebno registrirati funkcije i naredbe
' sadržane u resursu (XLL), koristite metodu RegisterXLL.
' U primjeru u nastavu sve su funkcije za Analys32.xll
' registrirane.
' XL.RegisterXLL "Analys32.xll"

' Pokrenite sve automatske makro naredbe koje se nalaze u datoteci dodatka
' Automatske makronaredbe ne pokreću se prilikom otvaranja datoteke
' pomoću metode Open (Otvori).
XL.Workbooks("xlquery.xlam").RunAutoMacros 1

Set XL = Nothing
End Sub

Microsoft Office Excel 2003 i starije verzije programa Excel

Sub LoadAddin()

' Varijabla dimenzije xl kao vrsta objekta.
Dim xl As Object

' Aktivirajte Microsoft Excel i dodijelite ga varijabli xl.
Set XL = CreateObject("Excel.Application")

' Otvorite željenu datoteku dodatka, u ovom primjeru XLQUERY.XLA.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

' Ako je potrebno registrirati funkcije i naredbe
' sadržane u resursu (XLL), koristite metodu RegisterXLL.
' U primjeru u nastavu sve su funkcije za Analys32.xll
' registrirane.
' XL.RegisterXLL "Analys32.xll"

' Pokrenite sve automatske makro naredbe koje se nalaze u datoteci dodatka
' Automatske makronaredbe ne pokreću se prilikom otvaranja datoteke
' pomoću metode Open (Otvori).
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

Budući da Excel ne učitava dodatke i datoteke u imenik XLStart kada ga pozovete kao objekt OLE automatizacije, imate potpuni nadzor na postupkom učitavanja. Ako želite učitati dodatak, možete to učiniti ručno.

To znači i da pogreške makro naredbi, upozorenja o zaključanim datotekama ili upozorenja o datotekama samo za čitanje ne sprječavaju učitavanje programa Excel kad se poziva putem naredbe CreateObject. Druga je prednost takvog ponašanja ta što učitavanje programa Excel traje kraće nego kada se učitavaju dodaci ili datoteke.

R E F E R E N C E

Dodatne informacije o tome kako dobiti pomoć za programski jezik Visual Basic for Applications potražite u članku iz Microsoftove baze znanja pod brojem

226118 Popis dostupnih resursa pomoću kojih ćete savladati programiranje pomoću programskog jezika Visual Basic for Applications

Svojstva

ID članka: 213489 - posljednja izmjena: 18. ruj 2011. - verzija: 1

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

Povratne informacije