标题: [已解决]VBS怎样写入信息到剪切板? [打印本页]
作者: 随风 时间: 2011-1-26 01:50 标题: [已解决]VBS怎样写入信息到剪切板?
vbs写入信息到剪切板
求一代码
写入信息到剪切板,比如 var=12345
要求将12345写入到剪切板,不要模拟按键那种。
[ 本帖最后由 随风 于 2011-1-27 11:42 编辑 ]
作者: broly 时间: 2011-1-26 12:43
方法一:
下面是一个sub过程,调用就可以了
- Sub SetClipboardText(Text) '写入信息到剪切板
- Set objIE = CreateObject("InternetExplorer.Application")
- objIE.Navigate("about:blank")
- objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
- objIE.Quit
- End Sub
复制代码
方法二:
-
- Sub SetClipboardText(Text) '写入信息到剪切板
- Set wsShell = CreateObject("WScript.Shell")
- wsShell.Run "mshta vbscript:ClipboardData.SetData("&chr(34)&"text"&chr(34)&"," &Chr(34)& Text &Chr(34)& ")(close)",0,True
- End Sub
复制代码
注意:方法一中,如果你的IE是7以上的,建议以下操作:“工具-Internet选项-安全”选中上面的Internet图标(默认),点下面的“自定义级别”,在下拉列表中找到“允许对剪贴板进程编程访问”,在属性栏里选中“启用”,点“确定”既可。
另外,批处理也可以操作剪切板。
下面是写入 "I am Broly!" 到剪切板:
-
- mshta vbscript:ClipboardData.SetData("text","I am Broly!")(close)
复制代码
作者: Batcher 时间: 2011-1-26 13:07
BAT调用WinClip.exe也行
http://bbs.bathome.net/thread-1766-1-1.html
作者: semiuel 时间: 2011-1-26 16:47
- @echo off&setlocal enabledelayedexpansion
- set /p env=输入:
- mshta vbscript:clipboarddata.setdata("text","%env%")(close)
- pause
复制代码
作者: 随风 时间: 2011-1-26 18:54 标题: 回复 2楼 的帖子
若若的问一句,信息写在哪里?
作者: broly 时间: 2011-1-26 21:14
- Dim strCopy
- strCopy="此处为你要输入的文本"
- Call SetClipboardText(strCopy)
-
- Sub SetClipboardText(Text) '写入信息到剪切板
- Dim objIE
- Set objIE = CreateObject("InternetExplorer.Application")
- objIE.Navigate("about:blank")
- objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
- objIE.Quit
- Set objIE=Nothing
- End Sub
复制代码
作者: 随风 时间: 2011-1-27 01:45
提示行10字符5错误,另外这个会打开ie浏览器,有不打开浏览器的吗?你那个方法二,在哪里写信息?
作者: wc726842270 时间: 2011-1-27 02:13 标题: 回复 7楼 的帖子
看看这个吧,来自脚本之家感觉不错http://www.jb51.net/article/16381.htm
另外我运行6L的代码也没有发现错误啊,并且IE也没有打开,所有的不是在后台执行的么?
作者: 随风 时间: 2011-1-27 09:40
我这里确实不行
作者: 随风 时间: 2011-1-27 10:22
回复2楼
找到原因了,我默认的是世界之窗浏览器
当默认ie为浏览器时正常,但若是打开了世界之窗浏览器再运行则会出错。
看来这种方法还是有很大局限性啊
麻烦再问下,你的第二种方法需写入剪贴板的内容在哪输入?
作者: broly 时间: 2011-1-27 10:58
两个方法感觉各有优缺。
方法一的缺陷是,运行的时候,你不能打开浏览器(我的默认浏览器是搜狗,只要打开就出错)。另外,运行时会有提示是否允许访问剪切板(这个可以设置)
方法二的缺陷(可能不能说是缺陷,个人认为而已),运行时,窗口会失去激活状态,然后又获得状态。即批处理运行mshta命令的效果一样
- Dim strCopy
- strCopy="此处为你要输入的文本"
- Call SetClipboardText(strCopy)
-
- Sub SetClipboardText(Text) '写入信息到剪切板
- Dim wsh
- Set wsh = CreateObject("WScript.Shell")
- wsh.Run "mshta vbscript:ClipboardData.SetData("&chr(34)&"text"&chr(34)&"," &Chr(34)& Text &Chr(34)& ")(close)",0,True
- set wsh=Nothing
- End Sub
复制代码
[ 本帖最后由 broly 于 2011-1-27 11:12 编辑 ]
作者: 随风 时间: 2011-1-27 11:41 标题: 回复 11楼 的帖子
感谢,就是他了 ^_^
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |