标题: [技术讨论] VBS解决QQ2011复制粘贴到文本无换行 [打印本页]
作者: batman 时间: 2011-5-25 21:37 标题: VBS解决QQ2011复制粘贴到文本无换行
前言:
用了qq2011的会员可能都会有这样的经历:在论坛qq群上求助,然后好不容易“高手”给出一段代码,欣喜之中马上复制粘贴到文本中准备测试,谁料才完成ctrl+v的动作就傻眼了。靠!怎么全部没有换行,只是在换行处多了个黑黑的字符,无奈之中只得手动删除和换行了。当然手头有高级一点编辑器的可能不会有这个烦恼,因为粘贴在这些编辑器中是正常的。造成这一情况的原因在于notepad(我反正是用的它)不能正确识别qq2011文本信息中的回车换行符,于是,本人写下下面这段vbs代码用以转换qq2011文本信息中的回车换行符为notepad可以识别的回车换行符。使用方法是复制信息后双击此vbs便可正确粘贴了。
因为是调用的ie对象,虽然在本人多台电脑上测试通过并加入了容错代码,不过还是肯请大家帮测试下,主要是看有没有报错信息以及出现ie空白页的弹出(实际上弹出空白页并不影响结果,只是很不方便罢了)。代码如下:- Dim vbstr
- Set oie = CreateObject("internetexplorer.application")
- oie.Navigate("about:blank")
- Do Until oie.ReadyState = 4 : WScript.Sleep 200 : Loop
- CreateObject("wscript.shell").run "cmd /c taskkill /f /fi " & Chr(34) & "windowtitle eq 空白页*" & Chr(34) & " 2>nul", 0, 1
- vbstr = oie.Document.parentwindow.clipboarddata.getdata("text")
- If vbstr <> "" Then oie.Document.parentwindow.clipboarddata.setdata "text", Replace(vbstr, vbCr, vbCrLf)
- oie.Quit
- Set oie = Nothing
复制代码
作者: semiuel 时间: 2011-5-26 11:28
如果把VBS脚本多运行一次,处理后的结果就会每行后面多一个空行
作者: wankoilz 时间: 2011-5-26 13:13
一对 getdata setdata 解决问题,短小实用,顶一个!
作者: zqz0012005 时间: 2011-5-27 20:10
- mshta "javascript:clipboardData.setData('text', clipboardData.getData('text').replace(/\r\n?|\r?\n/g,'\r\n'));close();"
复制代码
作者: Demon 时间: 2011-5-29 11:03
看你用什么编辑器了,Editplus表示毫无压力
作者: 小胖狐狸 时间: 2011-11-11 10:26
我是先用UltraEdit再升级到QQ2011的,所以发现直接复制到QQ有问题,就直接用UltraEdit了,倒是没觉得很麻烦
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |