2014-11-07 4 views
-2

Я пытаюсь сделать это в функции:Как сделать это функцией?

Dim o As Object 
o = CreateObject("InternetExplorer.Application") 
o.Navigate2("http://example.org", "", "", "", "") 

Я пробовал этот код, но он не компилируется:

Public Function goto(website) 

Dim o As Object 
o = CreateObject("InternetExplorer.Application") 
o.Navigate2("" & website & "", "", "", "", "") 

End Function 

Что такое правильный способ сделать это?

+0

Вы должны вывесить исключение вы получаете, или то, что вы имеете в виду под «без любая удача » –

ответ

2

Вы по существу поняли это. Однако вы не можете использовать зарезервированные ключевые слова, такие как goto для имени своей функции, что является одной из причин этого.

Также не забудьте указать типы ваших параметров и тип возврата. Если вам не нужен тип возврата, используйте процедуру подменю вместо (который является по существу функцией без возвращаемого значения):

Public Sub Browse(website As String) 
    ' This is simply your existing code: 
    Dim o As Object 
    o = CreateObject("InternetExplorer.Application") 
    o.Navigate2(website, "", "", "", "") 
End Sub 
+0

Когда я использую это, он автоматически преобразует его в« Public Sub Browse (ByVal website As String) », это нормально? – user198989

+0

Да, это прекрасно и дает понять, что вы передаете «по значению», а не «по ссылке». Вы можете изменить его на 'ByRef'though (избегайте копирования строки, так как она не изменяется в любом случае). – Mario