visual puede proyecto para office microsoft library las iniciar error encuentra encontro encontrar compilacion bibliotecas biblioteca aplicaciones excel-vba vba reference namespaces excel

excel vba - office - "No se puede encontrar el proyecto o la biblioteca" para las funciones estándar de VBA



no se puede encontrar el proyecto o la biblioteca excel 2013 (5)

Así que tengo que ejecutar la aplicación de Excel de otra persona en mi PC, y obtengo "No se puede encontrar el proyecto o la biblioteca" en funciones estándar como la fecha, el formato, el hexadecimal, la mitad, etc.

Algunas investigaciones indican que si prefijo estas funciones con "VBA". como en "VBA.Date", funcionará bien.

Las páginas web sugieren que tiene que ver con las referencias de mi proyecto en mi sistema, mientras que deben estar bien en el sistema del desarrollador. Voy a estar lidiando con esto por un tiempo de otros, y distribuiré estas aplicaciones a muchas otras, así que necesito entender qué hay de malo en mi configuración de Excel que necesito corregir, o qué necesita cambiarse en el archivo xls para que se ejecute en una variedad de sistemas. Me gustaría evitar que todos usen "VBA". como referencia explícita, pero si no hay una solución ideal, supongo que eso es lo que tendremos que hacer.

  • ¿Cómo hago "VBA"? implícito en mis propiedades de proyecto / referencias / etc?

-Adán


En mi caso, era que la función era AMBIGUOUS tal como se definió en la biblioteca de VBA (presente en mis referencias), y también en la Biblioteca de objetos de Microsoft Office (también presente). Eliminé la Biblioteca de objetos de Microsoft Office y ¡listo! No es necesario usar el VBA. prefijo.


En mi caso, estaba revisando el trabajo realizado en la computadora de mi oficina (con Visio instalado) en casa (sin Visio). A pesar de que VBA parecía estar colgado en funciones predeterminadas simples, el problema era que tenía referencias a las bibliotecas de Visio todavía activas.


He experimentado este problema exacto y encontré, en la máquina de los usuarios, una de las bibliotecas de las que dependía estaba marcada como "FALTA" en el cuadro de diálogo de referencias. En ese caso, era una biblioteca de fuentes de oficina que estaba disponible en mi versión de Office 2007, pero no en el escritorio del cliente.

El error que obtienes es un completo engaño (como lo señaló divo).

Afortunadamente, no estaba usando nada de la biblioteca, así que pude eliminarlo por completo de las referencias de XLA. Supongo que una extensión de la mejor práctica recomendada de Divo sería probar para verificar el XLA en todas las versiones de Office de destino (no es una mala idea en ningún caso).


He visto errores en las funciones estándar si faltaba una referencia a una biblioteca totalmente diferente.

En el editor de VBA, inicie el comando Compilar desde el menú y luego revise el cuadro de diálogo Referencias para ver si falta algo y, si es así, intente agregar estas bibliotecas.

En general, parece una buena práctica compilar el código VBA completo y luego guardar el documento antes de la distribución.


Yo tuve el mismo problema. Esto funcionó para mí:

  • En VB ve a Herramientas »Referencias
  • Desmarque la biblioteca "Crystal Analysis Common Controls 1.0". O cualquier biblioteca.
  • Solo deja estas 5 referencias:
    1. Visual Basic para aplicaciones (esta es la biblioteca que define el lenguaje VBA).
    2. Biblioteca de objetos de Microsoft Excel (Esto define todos los elementos de Excel).
    3. Automatización OLE (Esto especifica los tipos para vincular e incrustar documentos y para la automatización de otras aplicaciones y la "fontanería" del sistema COM que Excel usa para comunicarse con el mundo exterior).
    4. Microsoft Office (Esto define cosas que son comunes a todos los programas de Office, como las barras de comandos y los controles de la barra de comandos).
    5. Microsoft Forms 2.0 Esto es obligatorio si está utilizando un formulario de usuario. Esta biblioteca define cosas como el formulario de usuario y los controles que puede colocar en un formulario.
  • Luego guarda.