[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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

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

TOP

本帖最后由 czjt1234 于 2013-8-28 15:09 编辑

1 要求选择后先ctrl + C复制
  1. Dim objFSO, objTextStream, Form, TextBox
  2. Set objFSO = CreateObject("Scripting.FileSystemObject")
  3. Set objTextStream = objFSO.OpenTextFile("C:\log.txt", 2, True)
  4. Set Form = CreateObject("Forms.Form.1")
  5. Set TextBox = Form.Controls.Add("Forms.TextBox.1").Object
  6. TextBox.MultiLine = True
  7. If TextBox.CanPaste Then
  8.     TextBox.Paste
  9.     objTextStream.Write TextBox.Text
  10.     objTextStream.Close()
  11. End If
复制代码
2
  1. Dim objFSO, objTextStream, objWshShell, strS, i
  2. Set objFSO = CreateObject("Scripting.FileSystemObject")
  3. Set objTextStream = objFSO.OpenTextFile("C:\log.txt", 1, False)
  4. strS = objTextStream.ReadLine()
  5. Set objWshShell = CreateObject("Wscript.Shell")
  6. For i = 1 To Len(strS)
  7.     objWshShell.SendKeys Mid(strS, i, 1)
  8. Next
复制代码
1

评分人数


QQ 20147578

TOP

1 要求选择后先ctrl + C复制2
czjt1234 发表于 2013-8-28 15:04


第一个说的意思不是先ctrl + C复制,是直接按(Num -)一个按键就能将所选取的内容复制下来
就是由(Num -)一个按键代替ctrl + C两个按键


第二个当我按下(Num +)时,貌似当前操作的对象就不是要输入的文本框了



按之前光标在闪
   
按之后光标不在了



Set a=Wscript.CreateObject("Wscript.Shell")
a.SendKeys "%{TAB}"
为什么也不能切换

TOP

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

TOP

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


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

QQ 20147578

TOP

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



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

TOP

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


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

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

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

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

TOP

回复 10# zz100001


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

TOP

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

TOP

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

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

回复 14# zz100001


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

TOP

返回列表