Qual è la differenza tra "Controlli modulo" e "Controllo ActiveX" in Excel 2010?


96

Utilizzando Microsoft Excel 2010, ho notato due tipi di controlli che possono essere inseriti in un documento: controlli modulo e controlli ActiveX .

inserisci qui la descrizione dell'immagine

Qual'è la differenza tra loro?


8
I controlli del modulo vengono inseriti in Excel stesso. I controlli ActiveX vengono caricati da DLL separate. Puoi aggiungere controlli ActiveX aggiuntivi, non controlli modulo.
Hans Passant

Grazie @HansPassant! Per quanto ne so, dovrei iniziare con Form Control mentre il lavoro può essere svolto senza fare affidamento ai controlli ActiveX.
Rubens Mariuzzo

Risposte:


96

Google è pieno di informazioni su questo . Come ha detto Hans Passant, i controlli del modulo sono integrati in Excel mentre i controlli ActiveX vengono caricati separatamente.

Generalmente userete i Formscontrolli, sono più semplici. ActiveXi controlli consentono una progettazione più flessibile e dovrebbero essere utilizzati quando il lavoro non può essere svolto con un Formscontrollo di base .

I computer di molti utenti per impostazione predefinita non si fideranno ActiveX e sarà disabilitato; questo a volte deve essere aggiunto manualmente al centro protezione. ActiveXè una tecnologia basata su Microsoft e, per quanto ne so, non è supportata su Mac. Questo è qualcosa che dovrai anche considerare, se tu (o chiunque fornisci una cartella di lavoro) decidessi di usarlo su un Mac.


Stavo cercando questo tipo di risposta / spiegazione. Ora capisco i pro ei contro dei controlli del modulo su ActiveX. Userò i controlli del modulo mentre il lavoro può essere fatto con loro. Grazie Sam e grazie @HansPassant
Rubens Mariuzzo

Nessun problema, felice di aiutarti. Se sei soddisfatto della risposta fornita, ricordati di contrassegnare è così, in questo modo gli altri sanno che è stata fornita una risposta.
StoriKnow

Nessun problema, ho pazienza e aspetto altri pareri.
Rubens Mariuzzo

1
@ Sam, trovo la tua risposta molto utile. Ma forse sei disposto ad aggiungere un'altra cosa alla tua risposta che ho dovuto scoprire nel modo più duro. I controlli ActiveX a volte "si comportano male" e vengono automaticamente ridimensionati di più. mrexcel.com/forum/excel-questions/… o blogs.technet.com/b/the_microsoft_excel_support_team_blog/…
Ralph

1
Qualcuno ha pubblicato in quel thread mrexcel.com un collegamento a questo thread StackOverflow excel-the-amazing-shrinking-and-expanding-controls che ha molte discussioni sui problemi con i controlli ActiveX.
Tim Joy T-Square Consulting

26

Una delle principali differenze che è importante sapere è che i controlli ActiveX vengono visualizzati come oggetti che puoi utilizzare nel tuo codice: prova a inserire un controllo ActiveX in un foglio di lavoro, apri l'editor VBA (ALT + F11) e sarai in grado di accedere il controllo programmaticamente. Non puoi farlo con i controlli del modulo (le macro devono invece essere assegnate esplicitamente a ciascun controllo), ma i controlli del modulo sono un po 'più facili da usare. Se stai solo facendo qualcosa di semplice, non importa quale usi, ma per script più avanzati ActiveX ha migliori possibilità.

ActiveX è anche più personalizzabile.


1

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


13
Questa sarebbe una risposta se potessi fornire una macro che fornisce risultati diversi con un controllo ActiveX / Form.
Jacques Gaudin

1

Vale anche la pena notare che i controlli ActiveX funzionano solo in Windows, mentre i controlli modulo funzioneranno su entrambe le versioni Windows e MacOS di Excel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.