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

[已解决]VBS怎样写入信息到剪切板?

vbs写入信息到剪切板
求一代码
写入信息到剪切板,比如 var=12345
要求将12345写入到剪切板,不要模拟按键那种。

[ 本帖最后由 随风 于 2011-1-27 11:42 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
技术问题请到论坛发帖求助!

回复 11楼 的帖子

感谢,就是他了 ^_^
技术问题请到论坛发帖求助!

TOP

两个方法感觉各有优缺。
方法一的缺陷是,运行的时候,你不能打开浏览器(我的默认浏览器是搜狗,只要打开就出错)。另外,运行时会有提示是否允许访问剪切板(这个可以设置)
方法二的缺陷(可能不能说是缺陷,个人认为而已),运行时,窗口会失去激活状态,然后又获得状态。即批处理运行mshta命令的效果一样

  1. Dim strCopy
  2. strCopy="此处为你要输入的文本"
  3. Call SetClipboardText(strCopy)
  4. Sub SetClipboardText(Text)   '写入信息到剪切板
  5.     Dim wsh
  6.     Set wsh = CreateObject("WScript.Shell")
  7.     wsh.Run "mshta vbscript:ClipboardData.SetData("&chr(34)&"text"&chr(34)&"," &Chr(34)& Text &Chr(34)& ")(close)",0,True
  8.     set wsh=Nothing
  9. End Sub
复制代码

[ 本帖最后由 broly 于 2011-1-27 11:12 编辑 ]
2

评分人数

TOP

回复2楼
找到原因了,我默认的是世界之窗浏览器
当默认ie为浏览器时正常,但若是打开了世界之窗浏览器再运行则会出错。
看来这种方法还是有很大局限性啊
麻烦再问下,你的第二种方法需写入剪贴板的内容在哪输入?
技术问题请到论坛发帖求助!

TOP

我这里确实不行
技术问题请到论坛发帖求助!

TOP

回复 7楼 的帖子

看看这个吧,来自脚本之家感觉不错http://www.jb51.net/article/16381.htm
另外我运行6L的代码也没有发现错误啊,并且IE也没有打开,所有的不是在后台执行的么?

TOP

提示行10字符5错误,另外这个会打开ie浏览器,有不打开浏览器的吗?你那个方法二,在哪里写信息?
技术问题请到论坛发帖求助!

TOP

  1. Dim strCopy
  2. strCopy="此处为你要输入的文本"
  3. Call SetClipboardText(strCopy)
  4. Sub SetClipboardText(Text)   '写入信息到剪切板
  5.     Dim objIE
  6.     Set objIE = CreateObject("InternetExplorer.Application")
  7.     objIE.Navigate("about:blank")
  8.     objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
  9.     objIE.Quit
  10.     Set objIE=Nothing
  11. End Sub
复制代码

TOP

回复 2楼 的帖子

若若的问一句,信息写在哪里?
技术问题请到论坛发帖求助!

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p env=输入:
  3. mshta vbscript:clipboarddata.setdata("text","%env%")(close)
  4. pause
复制代码

TOP

BAT调用WinClip.exe也行

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

TOP

方法一:
下面是一个sub过程,调用就可以了
  1. Sub SetClipboardText(Text)   '写入信息到剪切板
  2.     Set objIE = CreateObject("InternetExplorer.Application")
  3.     objIE.Navigate("about:blank")
  4.     objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
  5.     objIE.Quit
  6. End Sub
复制代码

方法二:
  1. Sub SetClipboardText(Text)   '写入信息到剪切板
  2.     Set wsShell = CreateObject("WScript.Shell")
  3.     wsShell.Run "mshta vbscript:ClipboardData.SetData("&chr(34)&"text"&chr(34)&"," &Chr(34)& Text &Chr(34)& ")(close)",0,True
  4. End Sub
复制代码


注意:方法一中,如果你的IE是7以上的,建议以下操作:“工具-Internet选项-安全”选中上面的Internet图标(默认),点下面的“自定义级别”,在下拉列表中找到“允许对剪贴板进程编程访问”,在属性栏里选中“启用”,点“确定”既可。

另外,批处理也可以操作剪切板。
下面是写入  "I am Broly!" 到剪切板:
  1. mshta vbscript:ClipboardData.SetData("text","I am Broly!")(close)
复制代码

TOP

返回列表