中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » VBS如何实现inputbox多输入框?
作者:
标题: VBS如何实现inputbox多输入框? 上一主题 | 下一主题
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『楼 主』:  VBS如何实现inputbox多输入框?

VBS如何实现inputbox多输入框?比如我想实现三个输入框,能实现吗?类似于下面的图

附件 1: 1.rar (2009-2-21 15:44, 5.33 K, 下载附件所需积分 1 点 ,下载次数: 48)
2009-2-21 15:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

不能



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-2-21 15:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 3 楼』:  

我想网页里面可以



综合型编程论坛

我的作品索引
  
2009-2-21 16:04
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
5872169
高级用户





积分 959
发帖 474
注册 2007-10-25
状态 离线
『第 4 楼』:  

谢谢,有什么方法能实现吗?请高手写一段代码,谢谢!!

2009-2-21 17:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
frav
新手上路





积分 1
发帖 1
注册 2009-5-4
状态 离线
『第 5 楼』:  

谢谢

2009-5-5 05:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
z9988
新手上路





积分 1
发帖 1
注册 2009-4-23
状态 离线
『第 6 楼』:  

我希望下载学习,但是可能积分不够

2010-1-18 02:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『第 7 楼』:  

使用HTA格式就可以,纯VBS是不支持的,如果要支持还要添加插件的。

2010-1-20 03:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mountvol
初级用户





积分 186
发帖 117
注册 2006-8-14
状态 离线
『第 8 楼』:  


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


2010-1-20 11:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 9 楼』:  

写了一个函数 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┃
┗━━━━━━┛
2010-1-20 14:34
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
riser
新手上路





积分 1
发帖 1
注册 2010-5-1
状态 离线
『第 10 楼』:  

看看先~~~~~~~~~~~

2010-5-8 21:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yonghu111
初级用户





积分 90
发帖 57
注册 2010-4-12
状态 离线
『第 11 楼』:  

学习了

2010-5-9 13:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ymxfx
新手上路





积分 1
发帖 1
注册 2010-7-22
状态 离线
『第 12 楼』:  

学习学习

2010-9-14 00:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cyn01livecn
初级用户




积分 28
发帖 23
注册 2010-11-26
状态 离线
『第 13 楼』:  

我只知道单框输入,好像不支持双框!

2010-11-28 19:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: