Netiek ielādētas pievienojumprogrammas, izmantojot komandu CreateObject programmā Excel

S I M P T O M I

Piekļūstot programmai Microsoft Excel kā OLE automatizācijas objektam, izmantojot komandu CreateObject, netiek ielādētas pievienojumprogrammas, faili, kas atrodas direktorijā XLStart, un jauna noklusējuma darbgrāmata.

I E M E S L S

Mēģinot ielādēt pievienojumprogrammas un failus, programma Excel nosūta ziņojumu izsaucošajai lietojumprogrammai, piemēram, Visual Basic, ka tā nav gatava reaģēt uz pieprasījumu un ka vēlāk jāmēģina vēlreiz. Izsaucošā lietojumprogramma, iespējams, nevar apstrādāt šo pieprasījumu un turpinās ar nākamajām komandām.

P R O F I L A K S E

Korporācija Microsoft nodrošina tikai ilustratīvus programmēšanas paraugus, nesniedzot nekādas tiešas vai netiešas garantijas, tai skaitā, bet neaprobežojoties ar, netiešas garantijas, kas attiecas uz pieprasījumu vai piemērotību kādam mērķim. Šis raksts paredzēts cilvēkiem, kas pārzina aprakstīto programmēšanas valodu, rīkus un atkļūdošanas procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot kādas noteiktas procedūras funkcionalitāti. Taču viņi nemainīs šos piemērus, lai tos padarītu skaidrākus, un neveidos jaunas procedūras, kas atbilstu īpašām prasībām.

Lai ielādētu pievienojumprogrammas failu, palaižot programmu Excel kā OLE automatizācijas objektu, ielādējiet pievienojumprogrammu manuāli. Šīs metodes piemēri ir šādi:

Microsoft Office Excel 2007

Sub LoadAddin()

' Mainīgais izmērs xl kā objekta tips.
Dim xl As Object

' Aktivizējiet programmu Microsoft Excel un piešķiriet mainīgajam xl.
Set XL = CreateObject("Excel.Application")

' Atveriet vēlamo pievienojumprogrammas failu, šajā piemērā XLQUERY.XLAM.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

' Ja jāreģistrē funkcijas un komandas, kas
' atrodas resursā (XLL), izmantojiet metodi RegisterXLL.
' Tālāk norādītajā piemērā visas Analys32.xll funkcijas ir
' reģistrētas.
' XL.RegisterXLL "Analys32.xll"

' Palaidiet jebkuru automātisko makro, kas atrodas pievienojumprogrammas failā
' Automātiskais makro netiek palaists, ja atverat failu,
' izmantojot metodi Atvērt.
XL.Workbooks("xlquery.xlam").RunAutoMacros 1

Set XL = Nothing
End Sub

Microsoft Office Excel 2003 un vecākas Excel versijas

Sub LoadAddin()

' Mainīgais izmērs xl kā objekta tips.
Dim xl As Object

' Aktivizējiet programmu Microsoft Excel un piešķiriet mainīgajam xl.
Set XL = CreateObject("Excel.Application")

' Atveriet vēlamo pievienojumprogrammas failu, šajā piemērā XLQUERY.XLA.
XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

' Ja jāreģistrē funkcijas un komandas, kas
' atrodas resursā (XLL), izmantojiet metodi RegisterXLL.
' Tālāk norādītajā piemērā visas Analys32.xll funkcijas ir
' reģistrētas.
' XL.RegisterXLL "Analys32.xll"

' Palaidiet jebkuru automātisko makro, kas atrodas pievienojumprogrammas failā
' Automātiskais makro netiek palaists, ja atverat failu,
' izmantojot metodi Atvērt.
XL.Workbooks("xlquery.xla").RunAutoMacros 1

Set XL = Nothing
End Sub

P A P I L D I N D O R MĀ C I J A

Tā kā programma Excel neielādē pievienojumprogrammas vai failus direktorijā XLStart, kad to izsaucat kā OLE automatizācijas objektu, jūs pilnībā kontrolējat ielādes procesu. Ja vēlaties, lai tiktu ielādēta pievienojumprogramma, varat to ielādēt manuāli.

Šāda darbība nozīmē arī to, ka makro kļūdas, brīdinājumi par bloķētu failu vai tikai lasāmu failu attur programmu Excel no ielādes, kad to izsauc komanda CreateObject. Cita šādas darbības priekšrocība — mazāks Excel ielādes laiks, nekā ielādējot pievienojumprogrammas vai failus.

U Z Z IŅ A S

Lai iegūtu papildinformāciju, kā saņemt palīdzību darbā ar programmu Visual Basic for Applications, noklikšķiniet uz šī raksta numura un skatiet rakstu Microsoft zināšanu bāzē:

226118 Pieejamo resursu saraksts, lai palīdzētu apgūt Visual Basic for Applications programmēšanu (Šī saite var norādīt uz saturu, kurš daļēji vai pilnībā ir angļu valodā)
Rekvizīti

Raksta ID: 213489. Pēdējo reizi pārskatīts: 2011. gada 18. sept.. Pārskatījums: 1

Atsauksmes