2013-03-16 22 views
65

Utilizzando Microsoft Excel 2010, ho notato due tipi di controlli che possono essere inseriti in un documento: Controlli modulo e Controlli ActiveX.Qual è la differenza tra "Controlli modulo" e "Controllo ActiveX" in Excel 2010?

enter image description here

Qual è la differenza tra loro?

+7

I controlli Modulo sono integrati in Excel stesso. I controlli ActiveX vengono caricati da DLL separate. È possibile aggiungere controlli ActiveX aggiuntivi, non i controlli del modulo. –

+0

Grazie a @HansPassant! Per quanto ho capito, dovrei iniziare con Form Control mentre il lavoro può essere svolto senza fare affidamento su ActiveX Controls. –

risposta

64

Google is full of information on this. Come diceva Hans Passant, i controlli di modulo sono incorporati in Excel mentre i controlli di ActiveX ActiveX vengono caricati separatamente.

Generalmente userete i controlli Forms, sono più semplici. I controlli ActiveX consentono una progettazione più flessibile e devono essere utilizzati quando il lavoro non può essere eseguito semplicemente con un controllo di base Forms.

Computer di molti utenti default won't trustActiveX e sarà disabilitato; questo a volte deve essere aggiunto manualmente al centro di fiducia. ActiveX è una tecnologia basata su microsoft e, per quanto ne so, non è supportata su Mac. Questo è qualcosa che dovrai considerare anche, se tu (o chiunque tu fornisci una cartella di lavoro) decidi di usarlo su un Mac.

+0

Stavo cercando questo tipo di risposta/spiegazione. Ora capisco i pro e i contro di Form Controls su ActiveX. Userò i controlli modulo mentre il lavoro può essere svolto con loro. Grazie Sam e grazie @HansPassant –

+0

Nessun problema - felice di aiutare. Se sei soddisfatto della risposta fornita, ricorda di contrassegnare è così, in questo modo gli altri sanno che è stata fornita una risposta. – Sam

+0

Nessun problema, mi serve essere paziente e aspettare altre opinioni. –

18

Una delle principali differenze è importante sapere che i controlli ActiveX vengono visualizzati come oggetti che è possibile utilizzare nel codice, provare a inserire un controllo ActiveX in un foglio di lavoro, visualizzare l'editor VBA (ALT + F11) e essere in grado di accedere al controllo in modo programmatico. Non è possibile farlo con i controlli del modulo (i macros devono invece essere assegnati esplicitamente a ciascun controllo), ma i controlli dei moduli sono un po 'più facili da usare. Se stai semplicemente facendo qualcosa di semplice, non importa quale usi, ma per gli script più avanzati ActiveX ha possibilità migliori.

ActiveX è anche più personalizzabile.

1

Fate attenzione, in alcuni casi facendo clic su un controllo modulo o Active X Control otterrete due risultati diversi per la stessa macro, il che non dovrebbe essere il caso. Trovo che Active X sia più affidabile.

+5

Questa sarebbe una risposta se fosse possibile fornire una macro che dia risultati diversi con un controllo ActiveX/Form. –