Board logo

标题: [问题求助] VBS读取文本再由数组传给SendKeys为何出错? [打印本页]

作者: 将脚本进行到底    时间: 2013-7-10 18:50     标题: VBS读取文本再由数组传给SendKeys为何出错?

这是程序是通过读取一个文本文件(中文),然后将每个字读取到数组,由数组传给SendKesys,然后输出!
-----------------------------------------------------------------------------------------------------------------
显示的时候,有时候会出现一个汉字重复发送,或者少发送,并且显示的有“ECHO 处于打开状态”,这些
没有用的字符!
麻烦大家给看看!
-----------------------------------------------------------------------------------------------------------------
  1. dim b(100)
  2. set fso=CreateObject("scripting.filesystemobject")
  3. set wshobj=Wscript.CreateObject("wscript.shell")
  4. set ffile=fso.Opentextfile("C:\Documents and Settings\hyf_soft\桌面\ceshiddd11.txt",1,flase)
  5. wshobj.run"notepad"
  6. a1=ffile.readline
  7. a2=len(a1)
  8. for j=1 to a2
  9.          a3=mid(a1,j,1)
  10.          b(j-1)=a3
  11.          j=j+1
  12. next
  13. wshobj.sleep 500
  14. for i=0 to a2-1
  15.         a4=b(i)
  16.         wshobj.Run "cmd.exe /c echo " & a4 & "| clip.exe", vbHide
  17.         wshobj.SendKeys "^v"
  18.         wshobj.SendKeys"{BACKSPACE}"
  19. next
  20. ffile.close
复制代码
-----------------------------------------------------------------------------------------
作者: awk    时间: 2013-7-10 20:29

在第17行上面加一行, print一下a4,看看是否为空或者其它特殊字符串。
作者: apang    时间: 2013-7-10 20:36

目测 j=j+1 这句就不该要,又不是do...loop循环。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2