lord.of.da.flies escribió:Muchas gracias por tu respuesta.
Había intentado eso, pero no logré hacerlo funcionar, ¿Reemplazo los dos con dos Copybytes? ¿o solo pongo uno? ¿Tengo que cambiar más código?
Código:
Private Declare Sub CopyBytes Lib "MSVBVM60.DLL" Alias "__vbaCopyBytes" (ByVal Size As Long, Dest As Any, Source As Any)
Como estás declarando una Sub y no una API, tenés que especificar que esa sub va a tener privilegios de API, y además, necesitás especificar de donde sale ese vbaCopyBytes. Por lo que la declaración correcta sería:
Public Sub vbaCopyBytes(ByVal Length As Long, ByVal dest As Long, ByVal Src As Long)
DeclareAPI AddressOf ModuleTal.vbaCopyBytes, "__vbaCopyBytes", "msvbvm60.dll"
vbaCopyBytes Length, dest, Src
End Sub
Edit: Me olvidé, después tenés que "acomodar" los valores de RtlMoveMemory por el orden que trae vbaCopyBytes (Length, dest, Src)
Un Saludo!