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 函数来执行显示:

a = "msgbox BytesToBstr(Http.responseBody,""UTF-8"")"
execute a



顺便说以下,获源代码为什么不用 responseText 属性呢 ?

Set http = CreateObject("Msxml2.XMLHTTP")
http.open "POST", "http://m.renren.com/", false
http.send
msgbox http.responseText

作者: everest79     时间: 2009-8-16 09:31


msgbox string
a=string
msgbox a

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