lunes, 27 de abril de 2015

Error de compilación: El código de este proyecto se debe actualizar para usar en sistemas de 64 bits...


Este error hace referencia a un problema de compatibilidad, en sistemas de 64 bits al momento de ejecutar  un complemento de Office, específicamente la función notebook.

La solución pasa por agregar la palabra PtrSafe, a continuación de la palabra Declare.
La palabra clave PtrSafe indica que  es seguro ejecutar la instrucción Declare en versiones de 64 bits de Microsoft Office.



Todas las instrucciones Declare deben incluir ahora la palabra clave PtrSafe cuando se ejecuta en versiones de 64 bits de Microsoft Office.
Al agregar la palabra clave PtrSafe a una instrucción Declare solo indica que la instrucción Declare se dirige explícitamente a 64 bits, todos los tipos de datos en la instrucción que necesitan almacenar 64 bits (incluidos los parámetros y valores de retorno) deben modificarse para aceptar cantidades de 64 bits con LongLong para integrales de 64 bits o LongPtr para punteros y controladores.
Configuración Original


Private Declare Function Listado Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Private Declare  Function Carpetas Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Solución agregando la palabra reservada PrtSafe
Private Declare PtrSafe Function Listado Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Private Declare PtrSafe Function Carpetas Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Con esta modificación ya podemos ejecutar nuestro documento de Word e interactuar con el software Matlab


Espero que esta información sea de utilidad y sigue visitando nuestro blog.

Gabriel Leyton
Soporte-DI

8 comentarios: