Excel VBA 64bit 버전의 "Declare 문"오류를 해결하는 방법
소개
Windows 10으로 교체하여 Excel도 64bit 버전을 설치했습니다.
특히 문제 없을 것이다…라고 고를 묶고 있었습니다만, 32bit판으로부터 수정하지 않으면 움직이지 않는 VBA가 나왔으므로, 후학을 위해서도 써 남겨 두고 싶습니다.
문제가 발생한 매크로는 어떤 내용?
Win32API URLDownloadToFile에서 파일을 다운로드하는 매크로였습니다.
그럼~Win32API라는 이름이니까 32bit 전용이군요~
64bit용으로 수정하지 않으면 움직이지 않네요~💦
Declare 문 확인 및 업데이트 오류
오류 메시지를 캡처합니다.
Declare Functio를 Declare PtrSafe Function으로 수정
오류 메시지에 모든 답변이 작성되었습니다.
* 수정 전
Function 앞에 PtrSafe를 덧붙여서 깔끔한 오류가 사라졌습니다.
이것으로 매크로를 실행할 수 있다~라고 생각했는데, 이번에는 다른 에러가 발생!
컴파일 오류 형식이 일치하지 않습니다.
유형이 다르다고? 아이에에에! 닌자!? 닌자 난데!?
어떻게 봐도 정수로 좋을 것입니다만(# ゚Д゚) 아직 아이가 먹고 있을 것입니다만!
Long형을 LongLong형으로 수정
아무래도 64bit가 되어 취급할 수 있는 수치가 늘어났기 때문에 대용량의 상자로 할 필요가 있는 것 같습니다.
그 만마 Long을 덧붙인다는, 무려 장난 쓰는 방법일까?
하지만 알기 쉽고 좋은!
※추기
코멘트가 고마운 정보를 받았습니다.
LongLong으로 하면 64bit 전용이 되어 버리기 때문에, 이번은 32bit로 움직이지 않게 된다는 것. 32비트와 64비트 환경을 양립해야 하는 경우 LongLong이 아닌 LongPtr로 수정하십시오.
LongLong형에 대한 자세한 설명은 아래를 참조하십시오.
cpprefjp - C++ 일본어 참조
htps : // cpp fjp. 기주 b. 이오/ぁg/cp11/ぉんg_ぉg_tyぺ. HTML
요약
프로그램에 익숙한 분이라면 당연히 너무 남겨두는 사람은 없을지도 모릅니다만,
나 같은 독학 폰코 투어 머그래머는 훌륭하게 빠져 버렸기 때문에,
비슷한 사건으로 어려움이있는 분의 도움이되면 다행입니다.
Reference
이 문제에 관하여(Excel VBA 64bit 버전의 "Declare 문"오류를 해결하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/musyu/items/16ad8a81f368a46355bb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)