¿Cuál es la diferencia entre “Controles de formulario” y “Control ActiveX” en Excel 2010?

96

Al usar Microsoft Excel 2010, noté dos tipos de controles que se pueden insertar en un documento: controles de formulario y controles ActiveX .

ingrese la descripción de la imagen aquí

¿Cuál es la diferencia entre ellos?

Rubens Mariuzzo
fuente
8
Los controles de formulario están integrados en Excel. Los controles ActiveX se cargan desde archivos DLL independientes. Puede agregar controles ActiveX adicionales, no controles de formulario.
Hans Passant
¡Gracias @HansPassant! Por lo que tengo entendido, debería comenzar con Form Control mientras el trabajo se puede hacer sin depender de los controles ActiveX.
Rubens Mariuzzo

Respuestas:

96

Google está lleno de información al respecto . Como dijo Hans Passant, los controles de formulario están integrados en Excel, mientras que los controles ActiveX se cargan por separado.

Generalmente usará Formscontroles, son más simples. ActiveXLos controles permiten un diseño más flexible y deben usarse cuando el trabajo simplemente no se puede realizar con un Formscontrol básico .

Las computadoras de muchos usuarios por defecto no confiarán ActiveX y estarán deshabilitadas; esto a veces debe agregarse manualmente al centro de confianza. ActiveXes una tecnología basada en Microsoft y, hasta donde yo sé, no es compatible con Mac. Esto es algo que también tendrá que considerar, en caso de que usted (o cualquier persona a la que le proporcione un libro de trabajo) decida usarlo en una Mac.

StoriKnow
fuente
Estaba buscando este tipo de respuesta / explicación. Ahora entiendo los pros y los contras de los controles de formulario sobre ActiveX. Usaré controles de formulario mientras se pueda hacer el trabajo con ellos. Gracias Sam y gracias @HansPassant
Rubens Mariuzzo
No hay problema, encantado de ayudar. Si está satisfecho con la respuesta proporcionada, recuerde marcarlo como tal, de esta manera otros sabrán que se proporcionó una respuesta.
StoriKnow
No hay problema, suelo tener paciencia y esperar otras opiniones.
Rubens Mariuzzo
1
@Sam, encuentro tu respuesta más útil. Pero tal vez esté dispuesto a agregar una cosa más a su respuesta que tuve que averiguar por las malas. Los controles ActiveX a veces "se comportan mal" y automáticamente aumentan o cambian de tamaño. mrexcel.com/forum/excel-questions/… o blogs.technet.com/b/the_microsoft_excel_support_team_blog/…
Ralph
1
Alguien ha publicado en ese hilo de mrexcel.com un enlace a este hilo de StackOverflow excel-the-incredible-shrinking-and-expand-controls que tiene mucha discusión sobre los problemas con los controles ActiveX.
Tim Joy T-Square Consulting
26

Una diferencia importante que es importante saber es que los controles ActiveX se muestran como objetos que puede usar en su código; intente insertar un control ActiveX en una hoja de trabajo, abra el editor de VBA (ALT + F11) y podrá acceder el control programáticamente. No puede hacer esto con los controles de formulario (en su lugar, las macros deben asignarse explícitamente a cada control), pero los controles de formulario son un poco más fáciles de usar. Si está haciendo algo simple, no importa cuál use, pero para scripts más avanzados, ActiveX tiene mejores posibilidades.

ActiveX también es más personalizable.

iliketocode
fuente
1

Tenga cuidado, en algunos casos, hacer clic en un Control de formulario o Control Active X dará dos resultados diferentes para la misma macro, lo que no debería ser el caso. Encuentro que Active X es más confiable.

JLG
fuente
13
Esta sería una respuesta si pudiera proporcionar una macro que proporcione resultados diferentes con un control ActiveX / Form.
Jacques Gaudin
1

También vale la pena señalar que los controles ActiveX solo funcionan en Windows, mientras que los controles de formulario funcionarán en las versiones de Excel de Windows y MacOS.

maciej
fuente