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

Seleccione idioma Seleccione idioma
Id. de artículo: 832512 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

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

Causa

Los formularios de InfoPath siempre se ejecutan en el contexto de una zona de seguridad de Internet. La zona de seguridad de Internet define las acciones que la secuencia de comandos en un formulario puede realizar y las acciones que la secuencia de comandos en un formulario no se puede realizar. Normalmente, este error se produce porque la zona de seguridad de Internet donde se ejecuta el formulario no permite componentes de ActiveX para crearse si los componentes ActiveX no marcados como seguros para secuencias de comandos que no son de confianza o seguros para inicialización que no son de confianza . Esto significa que el autor del control no certificar que el componente no puede dañar el sistema si se presenta con secuencias de comandos malintencionadas o datos malintencionados.

Para obtener más información sobre cómo las zonas de seguridad afectan al nivel de acceso que formularios necesario recursos en el equipo, haga clic en Microsoft Office InfoPath 2003 o la Ayuda de Office InfoPath 2007 en el menú Ayuda tipo acerca de las zonas de seguridad en el que Buscar cuadro el 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 uno de los métodos siguientes:
  • Hacer un formulario de plena confianza basada en URN que el formulario.
  • 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)

Hacer que el formulario un formulario de plena confianza basada en URN

El formulario de plena confianza basada en URN debe instalarse en el equipo mediante una instalación personalizada de secuencia de comandos o mediante el paquete de sistema de Microsoft Installer. Esto permite que los componentes ActiveX crearse incluso si los componentes ActiveX no marcados como seguros para secuencias de comandos que no son de confianza o seguros para inicialización que no son de confianza .

Se puede convertir un formulario estándar a un formulario basado en URN manualmente. Sin embargo, conversión manual es tedioso y propenso a errores. También puede convertir un formulario estándar a un formulario basado en URN mediante la herramienta RegForm.exe que es la herramienta de registro de formulario de la 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 al archivo de definición de formulario y en el archivo de plantilla XML. La herramienta regform.exe repackages a continuación, los archivos en un archivo .xsn y después 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:
http://www.microsoft.com/downloads/details.aspx?FamilyID=351f0616-93aa-4fe8-9238-d702f1bfbab4
La ubicación de instalación de la predeterminada de SDK de InfoPath 2003 es c:\Archivos programa\Microsoft Office 2003 Developer Resources\Microsoft Office InfoPath 2003 SDK\Tools.

Para ver las opciones de la 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 en la línea de comandos. El modificador /U especifica el URN para la plantilla de formulario. El modificador especifica que la plantilla de formulario de plena confianza. Esto establece el atributo requireFullTrust en el archivo de definición (.xsf) del formulario en Sí.

La siguiente línea de comandos genera un archivo .js y un archivo .bak en la misma carpeta que la plantilla que está convirtiendo:
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 basados en URN.

Para ejecutar la secuencia de comandos .js, escriba el siguiente código 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 acerca de la herramienta RegForm.exe, vea el tema "Utilizar la herramienta de registro de formulario" en la documentación de Ayuda del SDK de InfoPath 2003.

Para obtener más información acerca de InfoPath 2007 y el SDK de InfoPath 2007, visite el siguiente sitio Web de Microsoft:
http://office.microsoft.com/en-us/infopath/FX100647031033.aspx?CTT=96&Origin=CL100607051033

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 agrega la dirección URL del servidor que aloja el formulario de InfoPath como un sitio de confianza, recibirá el mensaje siguiente al ejecutar el código:
Un control ActiveX en esta página podría ser no 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 no se ejecutará el código.

Para agregar un sitio como sitio de confianza, siga estos pasos:
  1. Iniciar 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 debe agregar al cuadro de texto es http:// MyServer.
  7. Haga clic en Agregar .

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

    Esto confirma el cambio y cierra el cuadro de diálogo.

Firmar digitalmente una plantilla de formulario

Esto se aplica a Pack 1 de InfoPath 2003. Si firma digitalmente una plantilla de formulario con un certificado de confianza, puede establecer el nivel de seguridad para la plantilla de formulario en plena confianza. Plena confianza significa que el formulario puede tener acceso a archivos y configuraciones en el equipo del usuario o en un dominio diferente. Además, puede implementar y actualizar esa plantilla de formulario enviándola las versiones actualizadas de la plantilla de formulario y 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 en para activar la casilla de verificación seguridad y confianza en InfoPath 2007.
  3. En la Firma de formularios en InfoPath 2003, haga clic para Active la casilla de verificación firmar este formulario .

    En Firma de la plantilla de formulario en InfoPath 2007, haga clic para seleccionar 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 no es un certificado de confianza en el equipo del usuario, Microsoft Office InfoPath 2003 muestra un mensaje de seguridad y requiere que el 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:
870924Cómo obtener el service pack más reciente para Office 2003

Propiedades

Id. de artículo: 832512 - Última revisión: martes, 30 de enero de 2007 - Versión: 3.3
La información de este artículo se refiere a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Office InfoPath 2003
Palabras clave: 
kbmt kbdownload kbprb kbautomation kbnofix KB832512 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 832512

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com