Insertar un control ActiveX

Crear y distribuir su propio control ActiveX personalizado puede ahorrar tiempo y esfuerzo para otros diseñadores de plantillas de formulario, además de proporcionar funciones que no están disponibles en Microsoft Office InfoPath. Puede hacer que los controles Microsoft ActiveX estén disponibles en modo de diseño y, a continuación, usar esos controles en las plantillas de formulario que cree.

En este artículo

Cuándo usar un control ActiveX

Normalmente, se usa un control ActiveX cuando se desea incluir un elemento de interfaz de usuario en la plantilla de formulario que no está disponible en InfoPath, como un control deslizante que se incluye con Microsoft Windows.

Su organización también puede crear sus propios controles ActiveX personalizados para un uso empresarial específico. Por ejemplo, un hospital puede desarrollar un control ActiveX que permita que se muestren imágenes médicas en un formulario. O supongamos que sus representantes de ventas tienen que realizar un seguimiento del número de artículos vendidos en un mes determinado. Actualizar un cuadro de texto escribiendo puede resultar engorroso y puede producir errores, teniendo en cuenta que los representantes de ventas tienen que incrementarse una vez más. Un control ActiveX personalizado que se incrementa automáticamente con un clic del mouse reduce el tiempo dedicado al seguimiento de esta información y puede ayudar a reducir los errores.

Principio de página

La experiencia de usuario

Lo que el usuario vea en el formulario depende en su totalidad del tipo de control ActiveX que use en la plantilla de formulario.

Al publicar una plantilla de formulario que contiene un control ActiveX, ese control debe instalarse y registrarse en los equipos de los usuarios para que los usuarios abran formularios basados en la plantilla de formulario. Es posible que algunos controles ActiveX, como los que se incluyen con Microsoft Windows, ya estén instalados y registrados en los equipos de los usuarios. Es posible que otros controles ActiveX, como los controles personalizados que desarrolle, no se instalen ni registren. En este caso, debe tomar medidas para instalar y registrar los controles de los usuarios.

Si tiene previsto instalar la plantilla de formulario con un programa de instalación personalizado, puede instalar y registrar el control ActiveX personalizado al mismo tiempo. Como alternativa, puede especificar un archivo de archivador existente (.cab) en el Asistente para agregar controles personalizados que se usa para instalar el control en los equipos de los usuarios.

Al usar el Asistente para agregar controles personalizados para que un control ActiveX esté disponible para los usuarios, debe especificar si desea empaquetar un archivo de .cab existente junto con la plantilla de formulario. Este archivo de .cab permite instalar y registrar el control en los equipos de los usuarios. Si elige incluir un archivo de .cab con la plantilla de formulario y los usuarios aún no tienen instalado el control ActiveX, InfoPath les pedirá que instalen el control cuando abran por primera vez un formulario basado en la plantilla de formulario.

InfoPath instala y registra automáticamente el control para los usuarios si se cumplen los dos requisitos siguientes:

  • El archivo .cab está firmado con un certificado digital que crea una firma digital en el archivo.
  • La firma digital proviene de un desarrollador de formularios u otro editor de confianza. Si el archivo de .cab está firmado pero el editor aún no es de confianza en el equipo del usuario, InfoPath muestra una alerta de seguridad y requiere que el usuario habilite la confianza para el editor.

Principio de página

Consideraciones de compatibilidad

Al diseñar una plantilla de formulario en InfoPath, puede elegir diseñar una plantilla de formulario compatible con el explorador. Al diseñar una plantilla de formulario compatible con el explorador, los controles ActiveX no están disponibles en el panel de tareas Controles porque no se pueden mostrar en un explorador web.

Además, los controles ActiveX no están disponibles en los elementos de la plantilla.

Principio de página

Insertar un control ActiveX en una plantilla de formulario

Antes de agregar un control ActiveX a la plantilla de formulario, debe hacer que esté disponible en el panel de tareas Controles . InfoPath incluye un Asistente para agregar controles personalizados que le guiará por el proceso de selección del control ActiveX, incluido un archivo de .cab de instalación con la plantilla de formulario, si es necesario, y la especificación de las opciones de enlace y otras propiedades del control ActiveX.

Agregar un control ActiveX al panel de tareas Controles

Si desarrolla su propio control ActiveX para su uso en InfoPath, debe identificar ese control como seguro para inicialización y seguro para scripting antes de poder completar el procedimiento siguiente.

  1. Si el panel Controles no es visible, haga clic en Más controles en el menú Insertar, o bien, presione ALT+I, C.

  2. En la parte inferior del panel de tareas Controles , haga clic en Agregar o quitar controles personalizados.

  3. En el cuadro de diálogo Agregar o quitar controles personalizados , haga clic en Agregar.

  4. En la primera página del Asistente para agregar controles personalizados, haga clic en Control ActiveX y, a continuación, haga clic en Siguiente.

  5. En la siguiente página del asistente, haga clic en el control que desee en la lista Seleccionar un control y, a continuación, haga clic en Siguiente.

    Nota

    La lista Seleccionar un control muestra los controles ActiveX que están registrados actualmente en el equipo, incluidos los controles ActiveX que se incluyen con Microsoft Windows. Si ha creado su propio control ActiveX personalizado, debe registrarlo para que aparezca en la lista Seleccionar un control . Si los controles ActiveX no son compatibles con InfoPath o se consideran no seguros, no podrá agregarlos a InfoPath.

  6. En la siguiente página del asistente, siga uno de estos procedimientos:

    • Para incluir un archivo de .cab de instalación con la plantilla de formulario, haga clic en Incluir un archivo de .cab, especifique el archivo que desea usar y, a continuación, haga clic en Siguiente.
    • Para instalar el control ActiveX mediante un programa de instalación personalizado o si el control ActiveX ya está instalado en los equipos de los usuarios, haga clic en No incluir un archivo .cab y, a continuación, haga clic en Siguiente.
  7. En la lista de propiedades Binding , siga uno de estos procedimientos:

    • Para enlazar una propiedad del control ActiveX a un campo del origen de datos, haga clic en un elemento.

      Nota

      Si el control ActiveX incluye una propiedad Value , InfoPath la selecciona automáticamente, pero puede cambiarla.

    • Para dejar el control ActiveX independiente, haga clic en (no enlazar).

  8. Haga clic en Siguiente.

  9. Según el tipo de control ActiveX que haya elegido agregar, puede aparecer una lista de propiedades Habilitar o Deshabilitar . Si este es el caso, haga clic en una propiedad y, a continuación, haga clic en Siguiente.

    Nota

    Si el control incluye una propiedad Enabled , InfoPath la selecciona automáticamente, pero puede cambiarla.

  10. Si especificó una propiedad de enlace en el paso 7, especifique las opciones de enlace que desea.
    ¿Cómo?
    En la lista Campo o tipo de grupo , siga uno de estos procedimientos:

    • Para enlazar el control ActiveX a un campo con un tipo de datos simple, haga clic en Campo (elemento o atributo). Este tipo de enlace lo usan controles ActiveX simples, como el control deslizante que se incluye con Microsoft Windows. Si selecciona esta opción, debe especificar un tipo de datos predeterminado para el control ActiveX, así como los tipos de datos adicionales a los que se puede enlazar el control ActiveX.
    • Para enlazar el control ActiveX a un campo con un tipo de datos personalizado, haga clic en Campo (elemento con tipo de datos personalizado). Este tipo de enlace lo usan los controles ActiveX que funcionan como editores para un tipo específico de contenido, como un editor de ecuaciones que edita MathML. Si selecciona esta opción, también debe especificar un espacio de nombres para el XML que se modificará.
    • Para enlazar el control ActiveX a un campo o grupo, independientemente de su tipo de datos, haga clic en Campo o Grupo (cualquier tipo de datos). Este tipo de enlace lo usan los controles ActiveX que analizan la información que se escribe en otra parte del mismo formulario, como un gráfico o un gráfico, o mediante controles ActiveX que manipulan datos XML directamente.
  11. Haga clic en Finalizar.

  12. Revise el mensaje de confirmación y, a continuación, haga clic en Cerrar para salir del asistente.

  13. En el cuadro de diálogo Agregar o quitar controles personalizados , haga clic en Aceptar.

Después de que el control ActiveX aparezca en el panel de tareas Controles , puede insertarlo en la plantilla de formulario.

Insertar un control ActiveX en una nueva plantilla de formulario en blanco

Al insertar un control Microsoft ActiveX en la plantilla de formulario, InfoPath inserta un control personalizado enlazado a un campo o a un grupo en el origen de datos, según las opciones que haya especificado en el Asistente para agregar controles personalizados.

Nota

Si otros diseñadores de plantillas de formulario de su organización necesitan usar el mismo control ActiveX en sus plantillas de formulario y, si ese control no está instalado en sus equipos, puede crear un programa de configuración personalizado, como un archivo de paquete (.msi) de Microsoft Windows Installer. Este programa de configuración personalizada puede instalar y registrar rápidamente el control ActiveX para los diseñadores de plantillas de formulario.

  1. En la plantilla de formulario, coloque el cursor en el lugar donde desea insertar el control.

  2. Si el panel Controles no es visible, haga clic en Más controles en el menú Insertar, o bien, presione ALT+I, C.

  3. En Insertar controles, haga clic en el nombre del control ActiveX que desea insertar.

    Nota

    Tenga cuidado al agregar controles ActiveX a la plantilla de formulario. Los controles ActiveX pueden diseñarse de tal forma que su uso pueda suponer un riesgo de seguridad. Le recomendamos que use solo controles de orígenes de confianza.

  4. Las páginas de propiedades específicas del control ActiveX aparecerán junto a las páginas de propiedades estándar de InfoPath para los controles ActiveX. Para ver estas páginas de propiedades, haga doble clic en el control ActiveX de la plantilla de formulario.

Insertar un control ActiveX en una plantilla de formulario basada en un origen de datos existente

Si basa el diseño de la plantilla de formulario en un archivo, base de datos o servicio web de lenguaje de marcado extensible (XML), InfoPath deriva los campos y grupos en el panel de Origen de datos de los orígenes de datos ya existentes. En este escenario, puede insertar un control ActiveX arrastrando un campo desde el panel de tareas Origen de datos a la plantilla de formulario o insertando el control ActiveX desde el panel de tareas Controles , como se describe en el procedimiento siguiente:

  1. En la plantilla de formulario, coloque el cursor en el lugar donde desea insertar el control.
  2. Si el panel Controles no es visible, haga clic en Más controles en el menú Insertar, o bien, presione ALT+I, C.
  3. En Insertar controles, haga clic en el nombre del control ActiveX que desea insertar.
  4. En el cuadro de diálogo Enlace de controles, seleccione el campo en el que desea almacenar los datos del control y, a continuación, haga clic en Aceptar.

Principio de página

Sugerencias de seguridad

Al diseñar formularios que incluyen controles ActiveX, debe tener en cuenta los siguientes problemas de seguridad:

  • Los controles ActiveX que se usan en InfoPath tienen restricciones más estrictas que las de los controles ActiveX usados en Windows Internet Explorer. Por ejemplo, InfoPath requiere que los controles ActiveX se marquen como seguros para scripting y seguros para inicialización. Si desarrolla controles ActiveX personalizados para su uso en plantillas de formulario, debe implementar la interfaz IObjectSafety para que InfoPath reconozca que un control determinado está marcado como seguro para scripting y seguro para inicialización.
  • Tenga cuidado al agregar controles ActiveX a la plantilla de formulario. Los controles ActiveX pueden diseñarse de tal forma que su uso pueda suponer un riesgo para la seguridad. Le recomendamos que use solo controles de orígenes de confianza.
  • Los controles ActiveX no se pueden instalar ni ejecutar en plantillas de formulario que tengan un nivel de confianza restringido (como se especifica en el cuadro de diálogo Opciones de formulario en modo de diseño).
  • Para obtener información sobre cómo diseñar controles ActiveX más seguros, visita el sitio web de Microsoft Developer Network (MSDN).

Principio de página