错误表达式不会产生值

时间:2015-06-08 04:19:30

标签: vb.net

您好我正在尝试在VB 2010 express中编写一个语音控制的Internet浏览器,对于前两个命令,代码工作正常,但任何其他命令都会出现同样的错误。这就是表达式不会产生价值。

以下是代码示例,请记住,我有一些按钮可以激活相同的命令并且所有命令都可以正常工作。

    Select Case e.Result.Text

        Case "Go forward."
            Dim SAPI
            SAPI = CreateObject("sapi.spvoice")
            SAPI.Speak("Yes Sir.")
            SAPI = WebBrowser.GoForward()

        Case "Go back."
            Dim SAPI
            SAPI = CreateObject("sapi.spvoice")
            SAPI.Speak("Yes Sir.")
            SAPI = WebBrowser.GoBack()

        Case "Navigate search ."
            Dim SAPI
            SAPI = CreateObject("sapi.spvoice")
            SAPI.Speak("Yes Sir.")
            SAPI = WebBrowser.Navigate(TextBox1.Text)

        Case "Refresh page."
            Dim SAPI
            SAPI = CreateObject("sapi.spvoice")
            SAPI.Speak("Yes Sir.")
            SAPI = WebBrowser.Refresh()

        Case "Go home."
            Dim SAPI
            SAPI = CreateObject("sapi.spvoice")
            SAPI.Speak("Yes Sir.")
            SAPI = WebBrowser.GoHome()

    End Select

底部三个案例在WebBrowser行中都有相同的错误,任何想法可能导致这个?

1 个答案:

答案 0 :(得分:0)

并非您使用的所有WebBrowser方法(特别是后三种)都有返回值。前两个返回一个布尔值(如函数返回);其余的没有返回(如Sub),因此无法分配给变量(SAPI)。

查看各自的MSDN文档,以确定如何处理每个文档。在方法未返回值的情况下,只需调用它而不尝试分配其结果。

WebBrowser.Navigate(URL)
'instead of:
var = WebBrowser.Navigate(URL) 'incorrect