Excel VBA: wywołanie procedury podrzędnej z funkcji
Mój kod pobiera stronę HTML jako obiekt z podanym określonym parametrem:
Public Sub MyPage(myparam)
Dim oHtml As HTMLDocumentSet oHtml = New HTMLDocumentWith CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "[url=http://www.example.com"]http://www.example.com"[/url] & myparam, False
.send
oHtml.body.innerHTML = .responseText
End WithEnd Sub
Definiuję funkcje, które będą korzystały z tego samego obiektu, dlatego chcę zminimalizować liczbę połączeń. Więc chcę zdefiniować funkcję taką jak:
Function myFunction(myparam As String)Call MyPage(myparam)'code hereEnd Function
Ale to nie działa. Kiedy wpisuję = myFunction w komórce, pojawia się błąd #ARG !.
Jeśli po prostu wpiszę kod podprocedury wewnątrz funkcji, działa, coś takiego:
Function myFunction(myparam As String)Dim oHtml As HTMLDocumentSet oHtml = New HTMLDocumentWith CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "[url=http://www.example.com"]http://www.example.com"[/url] & myparam, False
.send
oHtml.body.innerHTML = .responseText
End With 'code hereEnd Function
Ale jak wspomniano powyżej, będzie to wymagało tego samego połączenia i obiektu dla różnych funkcji.
Jak mogę rozwiązać ten problem? podziękować
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Użyj jako .