|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007): 2017
* 아래줄에 질문을 작성하세요 >>
예전에 Excel 2010에서 작성하여 문제없이 사용하던 VBA가
Complie중
This application requires a minimum of 1 supported sockets
라는 Error 메세지가 떴습니다.
구글링으로 에러 메시지를 입력해 보니 해보니 외국놈들 답변으로
연결되는데 OS가 32비트에서 64비트로 바뀌는 과정에 ptrsafe어쩌고
저쩌고 하는데 당췌 뭔말인지 모르겠고
오튜 고수님들의 수준에 미치지 못하더라고요
관련해서 32비트에서 64비트로 바뀌는 경우 수정해야 할 부분이 정리된
내용이 있으면 보고 싶어서 여쭤 봅니다.
질문도 논리적으로 설명 못하는 초보입니다.
처음에 public Error가 발생해서 아래와 같이 수정은 했습니다.
#If VBA7 Then 'For 64 Bit Systems
Public Declare PtrSafe Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
Public Declare PtrSafe Function WSAStartup Lib "WSOCK32.DLL" _
(ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
Public Declare PtrSafe Function WSACleanup Lib "WSOCK32.DLL" () As Long
Public Declare PtrSafe Function gethostname Lib "WSOCK32.DLL" _
(ByVal szHost As String, ByVal dwHostLen As Long) As Long
Public Declare PtrSafe Function gethostbyname Lib "WSOCK32.DLL" _
(ByVal szHost As String) As Long
Public Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
#Else 'For 32 Bit Systems
'Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
'Public Declare Function WSAStartup Lib "WSOCK32.DLL" _
'(ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
'Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
'Public Declare Function gethostname Lib "WSOCK32.DLL" _
'(ByVal szHost As String, ByVal dwHostLen As Long) As Long
'Public Declare Function gethostbyname Lib "WSOCK32.DLL" _
'(ByVal szHost As String) As Long
'Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
'(hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
#End If
|
|