VBA에서 HTTP 요청을 시도할 때 "적절한 개체가 없으면 메서드가 유효하지 않습니다" 오류가 발생합니까?
저는 이 예를 따르려고 했습니다: http://libkod.info/officexml-CHP-9-SECT-5.shtml - Archive.org - 기부
하지만 그것은 이 오류를 주었습니다.

다음 줄에서:
Dim objHTTP As New MSXML2.XMLHTTP
다음 예제를 사용하려고 했습니다.VBA를 사용하여 엑셀에서 서버로 HTTP POST 요청을 전송하려면 어떻게 해야 합니까?
하지만 다음과 같은 오류가 발생했습니다.

다음 줄에서:
Print objHTTP.Status
그럼 VBA에서 POST REST 통화를 하려면 어떻게 해야 합니까?VBA에서 PUT 다중 파트/폼 데이터 파일 업로드 REST 호출을 하려면 어떻게 해야 합니까?
도구 > 참조

코드
Sub SendEmail()
'Dim objHTTP As New MSXML2.XMLHTTP
'Set objhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://localhost:8888/rest/mail/send"
objHTTP.Open "POST", URL, False
objHTTP.send ("{""key"":null,""from"":""me@me.com"",""to"":null,""cc"":null,""bcc"":null,""date"":null,""subject"":""My Subject"",""body"":null,""attachments"":null}")
Print objHTTP.Status
Print objHTTP.ResponseText
End Sub
언급
WinHttpRequest 개체: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384106(v=vs.85).aspx
에 대한 참조를 추가하지 않았습니다.Microsoft XML(임의의 버전)의 경우Dim objHTTP As New MSXML2.XMLHTTPVBA 창의 도구/참조...대화.
또한, 늦은 바인딩을 사용하지 않는 것이 좋습니다(CreateObject...); 조기 바인딩을 사용하는 것이 좋습니다(Dim objHTTP As New MSXML2.XMLHTTP초기 바인딩으로 IntelliSense를 사용하여 구성원을 나열하고 모든 종류의 디자인 타임 검증을 수행할 수 있습니다.
나는 사용해야 했습니다.Debug.print대신에Print즉시 창에서 작동합니다.
Sub SendEmail()
'Dim objHTTP As New MSXML2.XMLHTTP
'Set objHTTP = New MSXML2.XMLHTTP60
'Dim objHTTP As New MSXML2.XMLHTTP60
Dim objHTTP As New WinHttp.WinHttpRequest
'Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
'Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://localhost:8888/rest/mail/send"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-Type", "application/json"
objHTTP.send ("{""key"":null,""from"":""me@me.com"",""to"":null,""cc"":null,""bcc"":null,""date"":null,""subject"":""My Subject"",""body"":null,""attachments"":null}")
Debug.Print objHTTP.Status
Debug.Print objHTTP.ResponseText
End Sub
다음 항목을 확인하십시오.
https://github.com/VBA-tools/VBA-Web
REST를 다루는 수준 높은 도서관입니다.OOP이며 JSON과 함께 작동하지만 다른 형식으로도 작동합니다.
REST 데이터를 읽으려면 OData 이상의 Microsoft Power Query를 고려해야 합니다.데이터를 쓸 수 없습니다.하지만 데이터를 매우 잘 읽을 수 있습니다.
언급URL : https://stackoverflow.com/questions/19553476/getting-method-not-valid-without-suitable-object-error-when-trying-to-make-a-h
'programing' 카테고리의 다른 글
| JPA 구성에서 기본 스키마 이름을 설정하는 방법은? (0) | 2023.09.06 |
|---|---|
| MySQL에서 문자열을 실행할 수 있습니까? (0) | 2023.09.06 |
| '스위프' 기능 사용 방법 (0) | 2023.06.13 |
| 닷넷의 프로세스 ID를 확인하는 동안 오류가 발생했습니다.응용 프로그램을 호스팅하는 exe.하나 이상의 오류가 발생했습니다. (0) | 2023.06.13 |
| 집합의 모든 하위 집합을 가져오는 방법?(전원 설정) (0) | 2023.06.13 |