中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-25 11:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » VBS如何实现inputbox多输入框? 查看 3,164 回复 12
楼 主 VBS如何实现inputbox多输入框? 发表于 2009-02-21 15:44 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
18年会员
UID 100716
性别 男
状态 离线
VBS如何实现inputbox多输入框?比如我想实现三个输入框,能实现吗?类似于下面的图
附件
1.rar (5.33 KiB, 下载附件所需积分 1 点, 下载次数: 48)
2 发表于 2009-02-21 15:45 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
不能
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2009-02-21 16:04 ·  中国 广东 揭阳 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
我想网页里面可以
4 发表于 2009-02-21 17:41 ·  中国 山东 济南 联通
高级用户
★★★
积分 959
发帖 474
注册 2007-10-25 10:40
18年会员
UID 100716
性别 男
状态 离线
谢谢,有什么方法能实现吗?请高手写一段代码,谢谢!!
5 发表于 2009-05-05 05:53 ·  中国 广东 深圳 电信
新手上路
积分 1
发帖 1
注册 2009-05-04 04:56
17年会员
UID 144354
性别 男
状态 离线
谢谢
6 发表于 2010-01-18 02:08 ·  中国 云南 昭通 电信
新手上路
积分 1
发帖 1
注册 2009-04-23 14:32
17年会员
UID 143639
性别 男
状态 离线
我希望下载学习,但是可能积分不够
7 发表于 2010-01-20 03:15 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
使用HTA格式就可以,纯VBS是不支持的,如果要支持还要添加插件的。
8 发表于 2010-01-20 11:14 ·  中国 湖北 荆门 电信
初级用户
★★
积分 186
发帖 117
注册 2006-08-14 14:50
19年会员
UID 60491
状态 离线
set oIE = WScript.CreateObject("InternetExplorer.Application","Event_")
With oIE
.MenuBar = 0
.StatusBar = 0
.AddressBar = 0
.ToolBar = 0
.Height = 150
.Width = 200
.Navigate "about:blank"
.Visible = 1
.Document.Write "<HTML><BODY scroll='no'><input id='input1'><br>"
.Document.Write "<input id='input2'><br><input id='input3'>"
.Document.Write "<BUTTON id='btn'>确定</BUTTON></BODY></HTML>"
End With

Set oIE.Document.getElementById("btn").OnClick = GetRef("aaa")

Do
WScript.Sleep 200
Loop

Sub aaa
Dim str
str = oIE.Document.getElementById("input1").Value & VbCrLf
str = str & oIE.Document.getElementById("input2").Value & VbCrLf
str = str & oIE.Document.getElementById("input3").Value
WScript.Echo str
End Sub


Sub Event_OnQuit
WScript.Quit
End Sub
9 发表于 2010-01-20 14:34 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
写了一个函数 multiInputBox ,可以这样用


WScript.Echo "这个例子是模仿你贴出来的图片"
ss = multiInputBox("实例", "要搜索的文件或文件夹名为:^^M|包含文字:^^C")
WScript.Echo "输入的文件名是:" & ss(0)
WScript.Echo "包含文字是:" & ss(1)



以下是这个函数:

multiInputBox(title, content)

'**************************************************************
'* “VBS多重输入框” (P)&(C) 2010 『据说是李先生』
'*
'* 返回值为一个数组,依次是各个输入值。
'*
'* title : 输入框标题
'*
'* content : 一个字符串,包含显示信息,具体格式为
'*
'* 提示信息^默认值^热键|提示信息^默认值^热键|...
'*
'* “^” 和 “|” 做分隔符,只有提示信息是必需的
'*
'* 热键:一个字符,比如“M”,按住Alt,再按M就能快速定位到此条输入框
'*
'***************************************************************
Function multiInputBox(title, content)
Dim htmlStr, temp, i, l, height, allInputs, input, contentArr(), result()
temp = Split(content, "|")
ReDim contentArr(UBound(temp))
For i = 0 To UBound(temp)
contentArr(i) = Split(temp(i), "^")
Next
l = UBound(contentArr)
ReDim result(l)
height = l * 50 + 155
htmlStr = "<html><head><title>" & title & "</title>"
htmlStr = htmlStr & "<meta http-equiv=content-type content=""text/html; charset=gb18030"">"
htmlStr = htmlStr & "<style type=""text/css"">*{font:12px/1.2em Arial;} .input_box{width:250px;height:23px;padding-top:3px;border-color:#CCC;color:#333;background-color:#EEE;}</style>"
htmlStr = htmlStr & "<script type=""text/javascript"">function cf(e){if(e.altKey)try{eval(String.fromCharCode(e.keyCode)).focus()}catch(e){};}</script>"
htmlStr = htmlStr & "</head><body scroll=""no"" onkeyup=""cf(event)"">"
For i = 0 To l
temp = "<input onfocus=""javascript:this.select();"" class=""input_box"" type=""text"""
If UBound(contentArr(i)) > 0 Then temp = temp & """ value=""" & contentArr(i)(1)
If UBound(contentArr(i)) > 1 Then
temp = temp & """ name=""" & UCase(contentArr(i)(2))
temp = contentArr(i)(0) & "(<u>" & UCase(contentArr(i)(2)) & "</u>)<br>" & temp
Else
temp = contentArr(i)(0) & "<br>" & temp
End If
temp = temp & """ /><br><br>"
htmlStr = htmlStr & temp
Next
htmlStr = htmlStr & "<br><input type=""hidden"" name=""ching"" value=""me""/>"
htmlStr = htmlStr & "<input type=""button"" value=""确定"" onclick=""javascript:ching.value='ching';""/>"
htmlStr = htmlStr & "<input type=""button"" value=""取消"" onclick=""javascript:ching.value='caofackri';""/>"
htmlStr = htmlStr & "</body></html>"
'本来想用UMU在点关闭的时候清空数据,但那样至少要分割成两个函数,因此改用错误忽略。
With WScript.CreateObject("InternetExplorer.Application", "UMU_")
.menubar=0:.addressbar=0:.toolbar=0:.statusbar=0:.resizable=0
.width=300:.height=height:.navigate "about:blank":.visible=1
.document.write htmlStr
Do
On Error Resume Next
WScript.Sleep 100
If .document.body.all.ching.value = "ching" Then
Set allInputs = .document.getElementsByTagName("input")
i = 0
For Each input In allInputs
If i > l Then Exit For
result(i) = input.value
i = i + 1
Next
.Quit
Exit Do
End If
If .document.body.all.ching.value = "caofackri" Then
.Quit
Exit Do
End If
If Err.Number <> 0 Then Exit Do
Loop
End With
multiInputBox = result
End Function

┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
10 发表于 2010-05-08 21:42 ·  中国 湖北 黄冈 电信
新手上路
积分 1
发帖 1
注册 2010-05-01 15:00
16年会员
UID 165912
性别 男
状态 离线
看看先~~~~~~~~~~~
11 发表于 2010-05-09 13:20 ·  中国 重庆 开州区 移动
初级用户
★★
积分 90
发帖 57
注册 2010-04-12 13:29
16年会员
UID 164386
性别 男
状态 离线
学习了
12 发表于 2010-09-14 00:02 ·  中国 广东 佛山 电信
新手上路
积分 1
发帖 1
注册 2010-07-22 10:47
15年会员
UID 170951
性别 男
状态 离线
学习学习
13 发表于 2010-11-28 19:19 ·  中国 上海 东方有线
初级用户
积分 28
发帖 23
注册 2010-11-26 11:37
15年会员
UID 178303
性别 男
状态 离线
我只知道单框输入,好像不支持双框!
论坛跳转: