La función CreateObject o la función de ActiveXObject puede generar un error de secuencia de comandos en InfoPath

Síntomas

Puede utilizar la función CreateObject de Microsoft VBScript o Microsoft JScript ActiveXObject para crear una instancia de un componente de ActiveX. Si crea la instancia de un componente de ActiveX en un módulo de script de llamada a una función para un formulario de Microsoft Office InfoPath, puede recibir uno de los siguientes mensajes de error.
Servidor de automatización no puede crear el objeto
El componente de ActiveX no puede crear el objeto.

Causa

Los formularios de InfoPath siempre se ejecutan en el contexto de una zona de seguridad Internet. La zona de seguridad Internet define las acciones que puede realizar la secuencia de comandos en un formulario y las acciones que no se puede realizar la secuencia de comandos en un formulario. Normalmente, este error se produce porque la zona de seguridad de Internet donde se ejecuta el formulario no permite que los componentes de ActiveX se pueden crear si no se marcan los componentes ActiveX seguros para secuencias de comandos de confianza o seguros para inicialización que no se confía. Esto significa que el autor del control no certifica que el componente no puede causar daños en su sistema si se presenta con la secuencia de comandos malintencionada o datos malintencionados.

Para obtener más información acerca de cómo las zonas de seguridad afectan al nivel de acceso que las formas tienen los recursos en el equipo, haga clic en Microsoft Office InfoPath 2003 o la Ayuda de Microsoft Office InfoPath 2007 en el menú Ayuda , escriba acerca de las zonas de seguridad en la búsqueda para cuadro del panel de ayuda y, a continuación, haga clic en Iniciar búsqueda para ver el tema.

Solución

Para evitar este problema en el formulario de InfoPath, utilice cualquiera de los métodos siguientes:
  • Que el formulario en un formulario basado en URN de plena confianza.
  • Agregue la dirección URL del servidor que aloja el formulario de InfoPath a la lista de sitios de confianza en Microsoft Internet Explorer.
  • Firmar digitalmente una plantilla de formulario. (Aplicar para InfoPath)

Que el formulario en un formulario de plena confianza basada en URN

El formulario de plena confianza basada en URN debe instalarse en el equipo mediante una secuencia de comandos de instalación personalizada o utilizando el paquete de Microsoft Windows Installer. Esto permite que los componentes de ActiveX se pueden crear incluso si no se marcan los componentes ActiveX seguros para secuencias de comandos de confianza o seguros para inicialización que no se confía.

Puede convertir un formulario estándar a un formulario basado en URN manualmente. Sin embargo, la conversión manual es tedioso y propenso a errores. También puede convertir un formulario estándar a un formulario basado en URN utilizando la herramienta RegForm.exe que es la herramienta de registro de formulario de línea de comandos que se incluye con el kit de desarrollo de software (SDK) de InfoPath. La herramienta RegForm.exe hace los cambios necesarios para el archivo de definición de formulario y el archivo de plantilla XML. La herramienta Regform.exe, a continuación, vuelve a empaquetar los archivos en un archivo .xsn y, a continuación, crea un programa de instalación personalizada para instalar la plantilla de formulario modificada.

Para obtener más información acerca de cómo descargar el SDK de InfoPath 2003, visite el siguiente sitio Web de Microsoft:La ubicación predeterminada de instalación del SDK de InfoPath 2003 es C:\Program Files\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\Tools.

Para ver las opciones de línea de comandos, escriba la siguiente línea de comandos en una ventana de comandos:
regform /?
Observe el uso del modificador /U y el modificador/t en la línea de comandos. El modificador /U especifica el URN para la plantilla de formulario. El modificador /T especifica que la plantilla de formulario es de plena confianza. Esto establece el atributo requireFullTrust en el archivo de formulario (.xsf) de la definición en Sí.

La siguiente línea de comandos genera un archivo .js y un archivo .bak en la misma carpeta que la plantilla que se va a convertir:
regform /U urn:MyForm:MyCompany /T Yes C:\MyForms\MyTrustedForm.xsn
El archivo .bak es una copia del archivo de plantilla de formulario original antes de los cambios basados en URN. El archivo .js es un archivo de secuencia de comandos que puede utilizar para instalar el formulario basado en URN.

Para ejecutar la secuencia de comandos .js, escriba el código siguiente en la línea de comandos y, a continuación, presione ENTRAR:
Cscript <full path of your .js file>
Para obtener información adicional acerca de un formulario basado en URN o la herramienta RegForm.exe, vea el tema "Mediante la herramienta de registro de formulario" en la documentación de Ayuda del SDK de InfoPath 2003.

Para obtener más información sobre el SDK de InfoPath 2007 o InfoPath 2007, visite el siguiente sitio Web de Microsoft:

Agregue la dirección URL del servidor que aloja el formulario de InfoPath a la lista de sitios de confianza en Microsoft Internet Explorer

Cuando se agrega la dirección URL del servidor que aloja el formulario de InfoPath como sitio de confianza, recibirá el siguiente mensaje de error al ejecutar el código:
Un control ActiveX en esta página podría no ser seguro al interactuar con otras partes de esta página. ¿Desea permitir esta interacción?
Si hace clic en , se ejecuta el código. Si hace clic en No, puede recibir los mensajes de error que se mencionan en la sección "Síntomas", y el código no se ejecutará.

Para agregar un sitio como sitio de confianza, siga estos pasos:
  1. Inicie Internet Explorer.
  2. En el menú Herramientas, haga clic en Opciones de Internet.
  3. En el cuadro de diálogo Opciones de Internet, haga clic en la ficha Seguridad.
  4. En la ficha seguridad , haga clic en sitios de confianza.
  5. Haga clic en sitios.
  6. Agregue la dirección URL del servidor que aloja el formulario de InfoPath al cuadro de texto Agregar este sitio Web a la zona .

    Por ejemplo, si el nombre del servidor que aloja el formulario de InfoPath es MyServer, la dirección URL que se debe agregar al cuadro de texto es http://MyServer.
  7. Haga clic en Agregar.

    Esto agrega el sitio recién introducidos en el cuadro de lista de sitios Web .
  8. Haga clic en Aceptar dos veces.

    Esto confirma el cambio y, a continuación, cierra el cuadro de diálogo.

Firmar digitalmente una plantilla de formulario

Esto se aplica a InfoPath 2003 Service Pack 1. Si firma digitalmente una plantilla de formulario con un certificado de confianza, puede establecer el nivel de seguridad de la plantilla de formulario en plena confianza. Plena confianza significa que el formulario puede tener acceso a los archivos y configuraciones en el equipo del usuario o en un dominio diferente. Además, puede implementar y actualizar esa plantilla de formulario mediante el envío de la plantilla de formulario y versiones actualizadas de la plantilla de formulario a otros usuarios mediante un programa de correo electrónico.

Para firmar digitalmente un formulario con un certificado de confianza, siga estos pasos:
  1. En modo de diseño, haga clic en Opciones de formulario en el menú Herramientas .
  2. En el cuadro de diálogo Opciones de formulario , haga clic en la ficha seguridad en InfoPath 2003 o haga clic para activar la casilla de verificación de seguridad y confianza en InfoPath 2007.
  3. En Firma de formularios en InfoPath 2003, haga clic para activar la casilla de verificación firmar este formulario .

    En la Firma de la plantilla de formulario en InfoPath 2007, haga clic para activar la casilla de verificación firmar esta plantilla de formulario .
  4. Haga clic en Seleccionar certificado.
  5. En el cuadro de diálogo Seleccionar certificado , haga clic en el certificado que desea firmar digitalmente el formulario.
Nota: Si un certificado no es de confianza en el equipo de un usuario, Microsoft Office InfoPath 2003 muestra un mensaje de seguridad y pide al usuario que habilite la confianza del emisor del certificado antes de que el usuario puede abrir el formulario.

Referencias

Para obtener información adicional acerca de cómo obtener el service pack más reciente para Microsoft Office, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

870924 cómo obtener el service pack más reciente para Office 2003

Propiedades

Id. de artículo: 832512 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios