vbs问题 这个为什么总是报错

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:30:24
Function input(x)
a = asc(x)
input = (Chr(38)&"#" + a+";")
End function
Sub forest(text)
valued = ""
texts = len(text)
for n = 1 to texts
valued = valued & input(mid(text, n , 1))
next
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 600
WshShell.AppActivate "无标题 - 记事本"
WshShell.SendKeys valued
WshShell.SendKeys "^s%nD:\My Documents\Howtypeitis.htm%s%fx"
End sub
Call forest("adj,adj,you are adj(ADJADJURADJ)市")
'这个为什么总是报错?
zckmg ,你的……

Function input(x)
a = AscW(x)
if a<0 then
input = (Chr(38)&"#" & CStr(65536+a) & ";") '中文
else
input = (Chr(38)&"#" & CStr(a) & ";")
end if
End function
Sub forest(text)
valued = ""
texts = len(text)
for n = 1 to texts
valued = valued & input(mid(text, n , 1))
next
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 600
WshShell.AppActivate "无标题 - 记事本"
WshShell.SendKeys valued
WshShell.SendKeys "^s%nD:\Howtypeitis.htm%s%y%fx" '覆盖提示
End sub
Call forest("adj,adj,you are adj(ADJADJURADJ)市")

我改的还能应付中文字符,不过是unicode编码的。
不过我不明白,为什么不用fso来实现文件的保存呢

把第二行改为:input = Chr(38) & "#" & a &";"

原代码中“+a”会被当成是加法运算

第十二行不是Set WshShell=WScript.Create