Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2014, 10:15
JoaoM
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 meses
Puntos: 39
Respuesta: Problema en la ejecución de macros en 0ffice

Te recomendaria desinstalar office x64 y instalar el Office x86, sin importar cual plataforma de SO tienes.

El Office x64 no reconoce alguna slibrerias ni muchas macros echas en x86, casiningunas.

Para que office x64 reconozca macros echas en x86, tienes que aplicar a las macros las apis para x86 y para x64, con esto Office x64 te reconoce las macros echas en Office x86.

Sobre las librerias, Office 2010 y 2013 no trae alguns de las que trae Office 2003 y algunas del 2007, tienes que bajarlas y meterlas en el directorio correspondiente; System32 si el SO es x86 y sysWOW64 si el SO es x64 y luiego registrarlas desde el directorio que esten.

En S. google busca por ahí APIS para macros excel x86 construidas en x86 y tienes aqui para orietarte

Entra AQUI que está mas claro aun

Coloca estas APIs en el inicio del codigo y prueba

#If VBA7 Then
Private Declare PtrSafe Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As LongPtr, ByVal pszPath As String) As LongPtr
#Else
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
#EndIf

Me dice que es para la compatibilidad de macros creadas en Office x86 y funcionan con Office x64

No se si algo es neceario agregar alguna(s) linea(s) en el arranque del formulario (si lo tienes).
Alguien que nos aclare esto y si esta API es para esto código compatible con VBA6 y VBA7
porque hay muchas APIs para determinadas y distintas funciones

Sobre la plataforma de Office, x64 o x86
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Última edición por JoaoM; 29/11/2014 a las 11:57