Excel VBA от 32-битной до 64-битной версии

У меня есть старый файл Excel с 32-битным кодом. Кто сможет превратить это в 64-битный код?

Private Declare Function SetWindowPos Lib "user32" ( _
                 ByVal hWnd As Long, _
                 ByVal hWndInsertAfter As Long, _
                 ByVal x As Long, _
                 ByVal y As Long, _
                 ByVal cx As Long, _
                 ByVal cy As Long, _
                 ByVal wFlags As Long) _
                 As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Спасибо за вашу помощь

Who can turn this into 64-Bit code? - можно.
GSerg 20.06.2024 10:39

Возможно это проливает больше света на проблему. В этом случае вам нужно заменить Longptr на hwnd и hWndInsertAfter. И вам нужно добавить ключевое слово Ptrsafe.

Storax 20.06.2024 11:45

Очень полезной со многими примерами является статья JKP Объявление функций API для 64-битного Office и Mac Office

T.M. 20.06.2024 12:02

Дальнейшее чтение совместимость 32-битного Excel и 64-битного Excel Office 365 показано, как использовать константы условной компиляции, включая полезные комментарии @GSerg

T.M. 20.06.2024 12:06

Исходная ссылка Microsoft удалена, но я создал gist для хранения полезных объявлений API.

Cristian Buse 20.06.2024 17:06

@CristianBuse Впечатляющая работа и документация!

T.M. 20.06.2024 19:24

@Т.М. Я просто сохранил файл в том же состоянии, в котором скачал его с Microsoft много лет назад. Авторские права Microsoft указаны вверху файла, поэтому я не догадался упомянуть — я не писал ни строчки кода :) Но документация действительно впечатляет.

Cristian Buse 20.06.2024 19:35
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
7
87
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В данном случае это

Declare PtrSafe Function SetWindowPos Lib "user32" _
    (ByVal hwnd As LongPtr, _
    ByVal hWndInsertAfter As LongPtr, _
    ByVal x As Long, ByVal y As Long, _
    ByVal cx As Long, _
    ByVal cy As Long, _
    ByVal wFlags As Long) As Long

Declare PtrSafe Function GetSystemMetrics Lib "user32" _
    (ByVal nIndex As Long) As Long

Далее читайте 1 , 2 , 3

Другие вопросы по теме

Похожие вопросы

Пользовательская функция VBA для преобразования в Base62
Как добавить минимальное/максимальное значение в условное форматирование с помощью xlsxwriter для Python?
Как я могу создать трехмерную гистограмму и построить ее в Excel, используя данные, где отрицательные значения на графике также будут окрашены?
Поставщик ACE OLEDB в vbscript в приложении HTML (hta) для чтения Excel говорит, что поставщик не установлен, vbs работает, но hta не работает
Как отфильтровать массив с помощью другого массива в Excel?
Как получить уникальные столбцы в строке, сделать формулу «РАЗЛИВ» и работать и для других строк?
Прекратить выполнение цикла при обнаружении первой пустой ячейки
Как скопировать стиль и форматирование из шаблонной диаграммы в новую диаграмму?
Excel: Как извлечь определенное слово из списка слов из диапазона ячеек?
Сохранить файл в папку на основе значений ячеек