Quando si utilizza il comando CreateObject in Excel, i componenti aggiuntivi non vengono caricati

Traduzione articoli Traduzione articoli
Identificativo articolo: 213489 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si accede a Microsoft Excel come oggetto di automazione OLE, utilizzando il comando CreateObject, i componenti aggiuntivi, i file all'interno della directory XLStart e la nuova cartella di lavoro predefinita non vengono caricati.

Cause

Quando si tenta di caricare i componenti aggiuntivi e i file, Excel invia un messaggio all'applicazione chiamante, ad esempio Visual Basic, in quanto non è pronto per rispondere alle richieste ed è necessario riprovare. L'applicazione chiamante potrebbe non riuscire a gestire questa richiesta e continuare con il resto dei comandi.

Workaround

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

Per caricare un file di componenti aggiuntivi, quando si esegue Excel come oggetto di automazione OLE, caricare manualmente il componente aggiuntivo. Di seguito sono riportati alcuni esempi di questo metodo:

Microsoft Office Excel 2007

Sub LoadAddin()

   ' Dimensione variabile xl come tipo di oggetto.
   Dim xl come oggetto

   ' Attivare Microsoft Excel e assegnare la variabile xl.
   Impostare XL = CreateObject("Excel.Application")

   ' Aprire il file del componente aggiuntivo che si desidera installare, ad esempio, XLQUERY.XLAM.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

   ' Se è necessario registrare le funzioni e i comandi
   ' contenuti in una risorsa (XLL), utilizzare il metodo RegisterXLL.
   ' Nell'esempio riportato di seguito, tutte le funzioni di Analys32.xll
   ' sono registrate.
   ' XL.RegisterXLL "Analys32.xll"

   ' Eseguire eventuali macro automatiche contenute nel file del componente aggiuntivo
   ' Le macro automatiche non vengono eseguite quando si apre un file
   ' utilizzando il metodo Open.
   XL.Workbooks("Xlquery.xlam").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

Microsoft Office Excel 2003 e versioni precedenti.

Sub LoadAddin()

   ' Dimensione variabile xl come tipo di oggetto.
   Dim xl come oggetto

   ' Attivare Microsoft Excel e assegnare la variabile xl.
   Impostare XL = CreateObject("Excel.Application")

   ' Aprire il file del componente aggiuntivo che si desidera installare, ad esempio, XLQUERY.XLA.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

   ' Se è necessario registrare le funzioni e i comandi
   ' contenuti in una risorsa (XLL), utilizzare il metodo RegisterXLL.
   ' Nell'esempio riportato di seguito, tutte le funzioni di Analys32.xll
   ' sono registrate.
   ' XL.RegisterXLL "Analys32.xll"

   ' Eseguire eventuali macro automatiche contenute nel file del componente aggiuntivo
   ' Le macro automatiche non vengono eseguite quando si apre un file
   ' utilizzando il metodo Open.
   XL.Workbooks("xlquery.xla").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

Informazioni

Poiché Excel, quando viene chiamato come oggetto di automazione OLE, non carica i componenti aggiuntivi o i file nella directory XLStart, si ha completo controllo del processo di caricamento. Se si desidera che un componente aggiuntivo venga caricato, è possibile caricarlo manualmente.

Questo comportamento significa che nessun errore di macro, avvisi di file bloccati o di file in sola lettura impediscono a Excel il caricamento quando viene chiamato il comando CreateObject. Un altro vantaggio di questo comportamento è che, quando i componenti aggiuntivi o i file sono caricati, Excel impiega meno a tempo a caricarsi.

Riferimenti

Per ulteriori informazioni sulla visualizzazione della Guida di Visual Basic Applications Edition, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
226118 Elenco delle risorse disponibili per facilitare l'apprendimento di Visual Basic, Applications Edition

Proprietà

Identificativo articolo: 213489 - Ultima modifica: domenica 18 settembre 2011 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
Chiavi: 
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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