Son compatibles los sistemas de 32 y 64 bits

En mi próxima limpieza del ordenata quiero montar la version de 64 bits (ahora tengo la de 32) y mi pregunta es si los programas que tengo me servirían para esta version.

Me han comentado que corriéndolos en "modo de compatibilidad con 32 bits" podrían funcionar, pero todos o algunos y como se haría.

Es que tengo algunos como las Office Blue que no querría perderme.

Respuesta
1

Puedes usar las de x64 en X32, para ello tienes que usar las APIs en las plantillas para que en la X64, puedas usar sean las de 32 o ls 64 o viceversa

Si las consigo, te las coloco acá

Prueba co nestas

'APIs, Para que funcione en X86 y X64 o viceversa
    'Validamos la versión de Office
    #If VBA7 And Win64 Then 'Si es de 64
        'Si es de 64 bits
        Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                ByVal hWnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
    #Else
        'Si es de 32 bits
        Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    #End If

Otra opcion desde aqui

    'Validamos la versión de Office
    #If VBA7 And Win64 Then
        'Si es de 64 bits
        Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
    #Else
        'Si es de 32 bits
        Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    #End If

Prueba y avisa. No olvides el botón Calificar

Prueba solamente con esta a ver si te va. No tengo Office x64, sino 32 con W10 x64

#If VBA7 Then
    Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As LongPtr, _
         ByVal lpOperation As String, _
         ByVal lpFile As String, _
         ByVal lpParameters As String, _
         ByVal lpDirectory As String, _
         ByVal nShowCmd As Long) As LongPtr
#Else
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, _
         ByVal lpOperation As String, _
         ByVal lpFile As String, _
         ByVal lpParameters As String, _
         ByVal lpDirectory As String, _
         ByVal nShowCmd As Long) As Long
#End If

Aqui encuentras cantidad de APIs para ciertos fines. Aqui mas información Allí se aconseja usar compilación condicional para que tu código corra correctamente tanto en instalaciones de 32 como de 64bits:

1 respuesta más de otro experto

Respuesta
1

Opino que primero que todo debes conocer la diferencia que hay entre 64 y 32 bits, y es por esto que te invito a leer este artículo, quizás te sea de mucha ayuda:

http://noseteolvidecompartir.blogspot.com.co/2017/03/sabes-cual-es-la-diferencia-entre-32-y.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas