您好我正在尝试在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行中都有相同的错误,任何想法可能导致这个?
答案 0 :(得分:0)
并非您使用的所有WebBrowser
方法(特别是后三种)都有返回值。前两个返回一个布尔值(如函数返回);其余的没有返回(如Sub),因此无法分配给变量(SAPI
)。
查看各自的MSDN文档,以确定如何处理每个文档。在方法未返回值的情况下,只需调用它而不尝试分配其结果。
WebBrowser.Navigate(URL)
'instead of:
var = WebBrowser.Navigate(URL) 'incorrect