API significa interfaz de programación de aplicaciones
Las API para VBA implican un conjunto de métodos que permiten la interacción directa con el sistema operativo
Se pueden hacer llamadas al sistema ejecutando procedimientos definidos en archivos DLL
Archivos comunes de la biblioteca del entorno operativo (DLL):
Biblioteca de enlace dinámico | Descripción |
---|---|
Advapi32.dll | Biblioteca de servicios avanzados para API que incluye muchas llamadas de seguridad y de registro |
Comdlg32.dll | Biblioteca de API de diálogo común |
Gdi32.dll | Biblioteca de API de interfaz de dispositivo gráfico |
Kernel32.dll | Soporte básico de API de base de Windows de 32 bits |
Lz32.dll | Rutinas de compresión de 32 bits |
Mpr.dll | Biblioteca de enrutador de múltiples proveedores |
Netapi32.dll | Biblioteca de API de red de 32 bits |
Shell32.dll | Biblioteca de la API de Shell de 32 bits |
User32.dll | Biblioteca para rutinas de interfaz de usuario. |
Version.dll | Biblioteca de versiones |
Winmm.dll | Biblioteca multimedia de Windows |
Winspool.drv | Interfaz de cola de impresión que contiene las llamadas a la API de cola de impresión |
Nuevos argumentos utilizados para el sistema 64:
Tipo | ít | Descripción |
---|---|---|
Índice | PtrSafe | Indica que la declaración Declare es compatible con 64 bits. Este atributo es obligatorio en sistemas de 64 bits. |
Tipo de datos | LongPtr | Un tipo de datos variable que es un tipo de datos de 4 bytes en las versiones de 32 bits y un tipo de datos de 8 bytes en las versiones de 64 bits de Office 2010. Esta es la forma recomendada de declarar un puntero o un identificador para el nuevo código, pero también para el código heredado si tiene que ejecutarse en la versión de 64 bits de Office 2010. Solo se admite en el tiempo de ejecución de VBA 7 en 32 bits y 64 bits. Tenga en cuenta que puede asignarle valores numéricos pero no tipos numéricos |
Tipo de datos | Largo largo | Este es un tipo de datos de 8 bytes que está disponible solo en las versiones de 64 bits de Office 2010. Puede asignar valores numéricos pero no tipos numéricos (para evitar el truncamiento) |
Conversión | Operador | CLngPtr Convierte una expresión simple a un tipo de datos LongPtr |
Conversión | Operador | CLngLng Convierte una expresión simple a un tipo de datos LongLong |
Función | VarPtr | Convertidor de variantes. Devuelve un LongPtr en versiones de 64 bits y un largo en 32 bits (4 bytes) |
Función | ObjPtr | Convertidor de objetos. Devuelve un LongPtr en versiones de 64 bits y un largo en 32 bits (4 bytes) |
Función | StrPtr | Convertidor de cuerdas. Devuelve un LongPtr en versiones de 64 bits y un largo en 32 bits (4 bytes) |
Referencia completa de firmas de llamadas:
Win32api32.txt para Visual Basic 5.0 (antiguas declaraciones de API, revisado por última vez en marzo de 2005, Microsoft)
Win32API_PtrSafe con soporte de 64 bits (Office 2010, Microsoft)