2017-07-18 3 views
0

Ich habe ein ziemlich großes Excel-Makro in 32bit geschrieben und müssen konvertieren, um n Excel 64 Bit zu verwenden. Gibt es eine einfache Möglichkeit, diese Konvertierung durchzuführen? Es ist ein großes Makro und es ist nicht möglich, Zeile für Zeile zu konvertieren.Konvertieren von Excel MAcro von 32 Bit zu 64 Bit

Ich habe einen Teil des Codes unten enthalten.

'32-bit API declarations 
Declare Function SHGetPathFromIDList Lib "shell32.dll" _ 
    Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long 

Declare Function SHBrowseForFolder Lib "shell32.dll" _ 
    Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long 

Sub DisplayDirectoryDialogBox() 
    Dim Msg As String 
    FileCount = 0 
    Msg = "Select a location containing the files you want to list." 
    SelectedDir = GetDirectory(Msg) 
    If SelectedDir = "" Then End 
    With Application 
     .StatusBar = "WAIT..." 
     .ScreenUpdating = False 
+0

Manuell 'PtrSafe' zu ​​allen Deklarationen hinzufügen. Konvertieren Sie alle 'Long's in den Deklarationen manuell, die Zeiger auf' LongPtr' darstellen (im gezeigten Code wäre das nur 'pidl'). Deklarieren Sie manuell Deklarationen von 'Long'-Variablen in Prozeduren, die als diese Parameter an' LongPtr' übergeben werden. Es gibt keinen anderen Weg. Sie können versuchen, in Refactoring-Tools/Addins zu schauen, die die Ersetzungen bis zu einem gewissen Grad automatisieren können. – GSerg

+0

Danke. Ich werde es versuchen und dich wissen lassen. –

+0

@GSerg scheint gut zu funktionieren. Bitte lege es in Antwortbox und ich akzeptiere es. Vielen Dank. –

Antwort

0

Credit Gserg:

manuell hinzufügen PtrSafe alle Erklärungen. Konvertieren Sie manuell alle Longs in den Deklarationen, die Zeiger auf LongPtrs darstellen (im gezeigten Code wäre dies nur pidl). Aktualisieren Sie manuell Deklarationen von Long-Variablen in Prozeduren, die als diese Parameter an LongPtr übergeben werden. Es gibt keinen anderen Weg. Sie können versuchen, in Refactoring-Tools/Addins zu schauen, die die Ersetzungen bis zu einem gewissen Grad automatisieren können. - GSerg 18. Juli um 8:55

Verwandte Themen