[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]VBS如何自动复制文本并保存

本帖最后由 xgda 于 2013-8-29 09:00 编辑

求两个VBS


①一般来说,在网页中用鼠标任意选取一段内容

然后按ctrl+c就能将所选取的内容复制到剪切板上

想求一vbs,此vbs放在C盘,然后发送到桌面快捷方式,设此快捷方式的快捷键为(Num -)

当在网页中选取一段文字后,直接按(Num -)一个按键就能将所选取的内容复制下来并保存在C:\log.txt里面
C:\log.txt里只保存上一次复制的内容即可,或者说每次运行此VBS时先删除C:\log.txt再新建一个C:\log.txt都行
.

②另外一个VBS同样放C盘,然后发送到桌面快捷方式,设此快捷方式的快捷键为(Num +)
当按下(Num +)时,改VBS读取C:\log.txt内容,然后用
Set a=Wscript.CreateObject("Wscript.Shell")
a.SendKeys "abcdefg"
的方式发送出文字。 "abcdefg"为字母加数字不会超过20位,不含汉字或其他特殊字符
(一定不能用ctrl+v的方式,因为所要输入的文本框对ctrl+v免疫!!)



多谢!!!!

有没有论坛捐助什么的,本人要赞助 20圆
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

BAT 和 VBS 的确是不区分大小写的,但是,这是针对语法中那些关键字和变量名或属性名方法名而言的。
引号里面具体的变量值当然是要区分大小写了,bat 的 if 比较都有 /i 参数来控制是否严格区分大小写。
vbs里面如果想要避免这种严格匹配的,可以用 UCase 或者 LCase 函数把变量值转换大小写之后进行比较。

TOP

回复 14# zz100001


    自从接触BAT,VBS脚本以来,我都认为是不区分大小写的;
这次我真的错了,这个脚本弄了两个晚上了,因为公司车间不允许带存储设备,所以代码都是手打上去的。
但是那脚本死活不起作用,反复核对,也没有什么差错啊,想了好久才想起来是不是和大小写有关系?
于是就试了一下,脚本第二行"HTMLDocument"那几个字母必须要大写,没想到运气真好啊,只试了一次就好了哈


PS:本人语文老师死得早

TOP

学习一下~~~

QQ 20147578

TOP

回复 14# zz100001


  
刚在自己电脑上试了,真的可以!!!
不过是要拿到公司电脑上用的,晚上上班再试一下,谢谢...

TOP

我周围已经找不到ie6了............
贴第一个的代码吧,我在ie9和ie10上面试了可以,第二个没有具体的网页也没法写了
  1. For Each w In CreateObject("Shell.Application").Windows
  2.     If TypeName(w.document) = "HTMLDocument" Then
  3.         s = w.document.selection.createRange().text
  4.         If Not s = "" Then
  5.             CreateObject("Scripting.FileSystemObject") _
  6.                 .CreateTextFile("C:\log.txt", True) _
  7.                     .Write s
  8.             Exit For
  9.         End If
  10.     End If
  11. Next
复制代码
1

评分人数

TOP

用上面的方法确实解决了不能在那个输入框手动输数据的难题

TOP

这个ie网页的输入框貌似给嵌了一个applet的小程序,要输入的数据就是一些条码,必须用条码枪扫出来,不能直接手动输入,手动输入的话该输入框就会把输入的数据给清空,你输多快它就清多快,当然也不能用Ctrl V。
其实如果有什么方法能不加载那个applet的话也可以的

TOP

回复 10# zz100001


      浏览器为系统自带的IE6,要发送的目标也是一个ie网页的输入框

TOP

这样就叫已解决??
我可以明确的告诉你,这两个目的只用系统自带的vbs都是完全可以搞定的。
前提是你要把实际的应用环境列出来,
第一个,是什么浏览器,chrome和firefox没法弄,但是ie内核的完全可以;
第二个,到底是要按键发送到一个什么东西里面,如果是确定的程序,那也是完全可以的,谁告诉你必须固定标题栏才能激活窗口?

TOP

回复 8# xgda


    现在应该可以了
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我的签名里面有链接
Batcher 发表于 2013-8-28 14:49


【论坛捐助】http://www.bathome.net/thread-10403-1-1.html
链接还打不开啊
您无权进行当前操作,原因如下:

对不起,本帖要求阅读权限高于 10 才可浏览,请返回。

TOP

第一个要求做不到,因为不能固定标题栏
否则倒可以激活标题栏,再发送Ctrl + C
czjt1234 发表于 2013-8-28 17:26



    如果只在一个网页里复制的话是不是能行呢?
设该网页为 “批处理之家 批处理_BAT_CMD_DOS_VBS_Perl_Python_PowerShell - Windows Interent Explorer"
第一个改怎么改呢

TOP

  1. Set objWshShell = CreateObject("Wscript.Shell")
  2. objWshShell.AppActivate "我的电脑"    '激活指定标题栏
  3. Wscript.Sleep 500    '延时半秒,防止反应不过来
复制代码


第一个要求做不到,因为不能固定标题栏
否则倒可以激活标题栏,再发送Ctrl + C

QQ 20147578

TOP

怎样用类似
Set a=Wscript.CreateObject("Wscript.Shell")
a.SendKeys "%{TAB}"
的方法将操作的对象返回到文本框里?

TOP

返回列表