0
私は32ビットで書かれたかなり大きいExcelマクロを持っていますので、変換する必要があります。この変換を行う簡単な方法はありますか? 大きなマクロであり、行単位で変換することはできません。Excelのマクロを32ビットから64ビットに変換する
以下のコードの一部が含まれています。
'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
すべての宣言に手動で 'PtrSafe'を追加します。 'LongPtr'へのポインタを表す宣言中の全ての' Long'を手動で変換します(コード内では 'pidl'だけです)。これらのパラメータとして渡された手続き中の 'Long'変数の宣言を' LongPtr'に手動で更新します。他の方法はありません。置き換えをある程度自動化する可能性のあるリファクタリングツール/アドインを調べようとするかもしれません。 – GSerg
ありがとうございます。私はこれを試み、あなたに知らせるでしょう。 –
@GSergはうまくいくようです。回答欄に入れておきます。ありがとう。 –