Board logo

标题: vbs 中 如何把一个字符串设为变量? [打印本页]

作者: wuhanbin     时间: 2009-8-14 07:01    标题: vbs 中 如何把一个字符串设为变量?

一个vbs脚本,function后输出一个字符串,现在我只能MSGBOX这个function,那如何把这个function输出的字符串设为变量呢?谢谢啦!
作者: qinchun36     时间: 2009-8-14 07:17
什么意思 ?

说具体点,给出你的例子也行
作者: wuhanbin     时间: 2009-8-14 07:53
Set http = CreateObject("Msxml2.XMLHTTP")
http.open "POST", "http://m.renren.com/", false
http.send
msgbox (BytesToBstr(Http.responseBody,"UTF-8"))
Function BytesToBstr(body,Cset)
      dim objstream
      set objstream = CreateObject("adodb.stream")
      objstream.Type = 1
      objstream.Mode = 3
      objstream.Open
      objstream.Write body
      objstream.Position = 0
      objstream.Type = 2
      objstream.Charset = Cset
      BytesToBstr = objstream.ReadText
      objstream.Close
      set objstream = nothing
End Function


这段代码能通过msgbox (BytesToBstr(Http.responseBody,"UTF-8"))来输出字符串,即(m.renren.com的网页源代码),那请问如何把(BytesToBstr(Http.responseBody,"UTF-8"))定义为变量a,让我能够通过msgbox a,来实现msgbox (BytesToBstr(Http.responseBody,"UTF-8"))一样的功能?谢谢!
作者: slore     时间: 2009-8-14 10:55
a=(BytesToBstr(Http.responseBody,"UTF-8"))
msgbox a
作者: qinchun36     时间: 2009-8-14 12:15
我无法实现你说的这种功能!
msgbox 后面如果跟一个字符串的话肯定每次输出就不会变的了, "msgbox 字符串变量“  显示的肯定就是 "字符串变量" 的值,就算它代表一个函数或者命令也不会执行,你可以尝试换种方式,利用 execute 函数来执行显示:
CODE:  [Copy to clipboard]
a = "msgbox BytesToBstr(Http.responseBody,""UTF-8"")"
execute a
顺便说以下,获源代码为什么不用 responseText 属性呢 ?
CODE:  [Copy to clipboard]
Set http = CreateObject("Msxml2.XMLHTTP")
http.open "POST", "http://m.renren.com/", false
http.send
msgbox http.responseText

作者: everest79     时间: 2009-8-16 09:31
CODE:  [Copy to clipboard]
msgbox string
a=string
msgbox a

function string()
string="test..."
end function