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
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
Danke. Ich werde es versuchen und dich wissen lassen. –
@GSerg scheint gut zu funktionieren. Bitte lege es in Antwortbox und ich akzeptiere es. Vielen Dank. –