[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. Dim tangshui,gansu,touxi
  2. tangshui=InputBox("瓶数")
  3. gansu=InputBox("支数")
  4. touxi=InputBox("次数")
  5. if gansu = "0" then
  6. end if
  7. if gansu = ">0" then
  8. WshShell.SendKeys ""&gansu&""
  9. if touxi = "0" then
  10. end if
  11. if touxi = ">0" then
  12. WshShell.SendKeys ""&touxi&""
复制代码
这样的结构可以实现吗?

TOP

5# batman
谢谢版主大大
我想问下如何用if判断值呢?
  1. 第一种药是必须有的,输入多少数值,就模拟键盘输入相应的数量
  2. 第二种药是非必须的,有人要,就输入相应数值,然后用模拟键盘输入相应的数量。要是不要这个,就输入0,就不调用模拟键盘。也就是不输入。
  3. 第三个是化验,有人要,就输入相应数值,然后用模拟键盘输入相应的数量。要是不要这个,就输入0,就不调用模拟键盘。也就是不输入。
复制代码
if gansu = "0" then
end if
if gansu = ">0" then
WshShell.SendKeys ""&gansu&""

if touxi = "0" then
end if
if touxi = ">0" then
WshShell.SendKeys ""&touxi&""

TOP

本帖最后由 batman 于 2011-5-6 09:23 编辑

还是用数组来处理吧,下面给个示例,楼主对照着修改罗
  1. '假如有4种药,每种药有3种剂量,每种药有2种化验
  2. Dim chufan(3, 2, 1), a, b, c, name, number, test
  3. namearray = Array("头胞", "葡萄糖", "阿期匹林", "刺五加")
  4. numberarray = Array("2ml", "4ml", "6ml")
  5. testarray = Array("甲类", "乙类")
  6. For a = 0 To 3
  7.   name = name & a+1 & ":" & namearray(a) & " "
  8.   For b = 0 To 2
  9.     If a = 0 Then number = number & b+1 & ":" & numberarray(b) & " "
  10.     For c = 0 To 1
  11.       If a & b = "00" Then test = test & c+1 & ":" & testarray(c) & " "
  12.       chufan(a, b, c) = namearray(a) & "-" & numberarray(b) & "-" & testarray(c)
  13.     Next
  14.   Next
  15. Next
  16. input = InputBox(name & vbcrlf & number & vbcrlf & test & vbcrlf & "请分别输入药品、剂量、化验的序号,中间请用-符号格开:")
  17. inputsplit = Split(input, "-")
  18. MsgBox chufan(inputsplit(0)-1, inputsplit(1)-1, inputsplit(2)-1)
复制代码
***共同提高***

TOP

类似于这种
  1. Dim name,sex,birth
  2. name=InputBox("请输入姓名")
  3. sex=InputBox("请输入姓别")
  4. birth=InputBox("请输入出生日期")
  5. Set fso=CreateObject("scripting.filesystemobject")
  6. Set file=fso.createtextfile("" & name & ".txt",True)
  7. file.Close
  8. MsgBox name
  9. set fi=fso.opentextfile("" & name & ".txt",2)
  10. s="姓名:"&name&vbCrLf&"姓别:"&sex&vbCrLf&"出生日期:"&birth
  11. fi.write  s
  12. fi.close
复制代码

TOP

可否改用vbs来做判断?

TOP

批处理不能调用按键的,不过你可以用批处理调用VBS的WshShell.SendKeys动作

如果你对批处理有了解过的话 就是连个命令就可以解决你的问题

用 Set /P = 命令等待输入值 然后用 IF 命令去判断这个值 然后调用相应的VBS即可

例如
  1. @echo off
  2. Echo 1 是我  2 是你
  3. Set /P Var= 请输入值:
  4. if "%Var%" == "1" goto :1
  5. if "%Var%" == "2" goto :2
  6. :1
  7. Echo 是我
  8. :2
  9. Echo 是你
复制代码
就是这样的思路了

TOP

返回列表