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
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
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
buen blog, felicidades
ResponderEliminarMuchas gracias
ResponderEliminarGRACIAS GENIO
ResponderEliminarmuchas gracias
ResponderEliminarGracias amigo muy bien explicado
ResponderEliminarPara que una macro sea compatible con Excel x64 op x32 ¿cuales APIs?
ResponderEliminarExcelente, gracias
ResponderEliminarExcelente!
ResponderEliminar