2017-12-04 7 views
0

URL의 매개 변수에서 값을 가져 오는 스크립트를 실행하는 웹 페이지를 호출하는 Excel UDF를 만들려고합니다. 예 : "http://example.com.com/script.php?variable1=123&variable2=456&etc=etc"브라우저를 열거 나 데이터를 반환하지 않고 VBA 호출 웹 페이지

많은 인터넷 검색 및 다른 stackoverflow 답변을 시도한 후에 이것을 사용했습니다. 예, udf를 생성합니다. 예, udf에 셀 값을 입력 할 수 있지만 URL을 호출하지 않습니다 (URL에서 추적 방문은 호출되지 않았다고 말함).

Function callurl(urltocall As String) As String 
Dim urlText As String 
With CreateObject("MSXML2.XMLHTTP") 
.Open "GET", urltocall, False 
.send 
urlText = .responseText 
End With 
End Function 

URL을 호출하여 스크립트를 실행하기 만하면 데이터를 반환하지 않아도됩니다. 이렇게하는 것이 Excel에서 변수를 가져 와서 스크립트를 실행하고 웹 SQL 데이터베이스를 업데이트하는 URL의 매개 변수로 사용하는 것입니다.

실제 결과는 아무 것도 아니 었습니다 (Excel에서 빈 셀, 웹 페이지 방문 없음).

enter image description here

+0

"나는 어떤 데이터도 반환 할 필요가 없습니다."동시에 "실제 결과는 아무것도 아닙니다"라고 말합니다. 그래서, 당신은 실제로 무엇을 원합니까? :) – JohnyL

+0

@ JohnyL 웹 페이지가 "방문"되어야하므로 PHP 스크립트가 실행됩니다. 그러나 Excel로 어떤 정보를 반환하지 않아도, 그냥 PHP 스크립트를 실행하는 것은 내가 필요한 전부입니다. 말하자면 성공 메시지를 반환하는 솔루션이 있다면 상관 없지만 분당 50 회 정도 전화를 걸기 때문에 Excel을 느리게하고 싶지는 않습니다. 미안하지만 나는 그것을 아주 분명하게 말하지 않았다. 말이 돼? –

+0

하지만 여기에 "실제 결과는 아무 것도 아니 었습니다 (웹 페이지를 방문하지 않아도됩니다 **)."라고 말하면 UDF가 제대로 작동하지 않는다는 것을 의미합니다. 내가 맞습니까? :) – JohnyL

답변

1

기능은 어떤 결과를 반환하지 않습니다. 올바른 코드는 다음과 같습니다.

Function callurl(urltocall As String) As String 
    Dim urlText As String 
    With CreateObject("MSXML2.XMLHTTP") 
     .Open "GET", urltocall, False 
     .Send 
     urlText = .responseText 
    End With 
    callurl = urltext 
End Function