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

[技术讨论] VBS解决QQ2011复制粘贴到文本无换行

前言:      
    用了qq2011的会员可能都会有这样的经历:在论坛qq群上求助,然后好不容易“高手”给出一段代码,欣喜之中马上复制粘贴到文本中准备测试,谁料才完成ctrl+v的动作就傻眼了。靠!怎么全部没有换行,只是在换行处多了个黑黑的字符,无奈之中只得手动删除和换行了。当然手头有高级一点编辑器的可能不会有这个烦恼,因为粘贴在这些编辑器中是正常的。造成这一情况的原因在于notepad(我反正是用的它)不能正确识别qq2011文本信息中的回车换行符,于是,本人写下下面这段vbs代码用以转换qq2011文本信息中的回车换行符为notepad可以识别的回车换行符。使用方法是复制信息后双击此vbs便可正确粘贴了。

    因为是调用的ie对象,虽然在本人多台电脑上测试通过并加入了容错代码,不过还是肯请大家帮测试下,主要是看有没有报错信息以及出现ie空白页的弹出(实际上弹出空白页并不影响结果,只是很不方便罢了)。代码如下:
  1. Dim vbstr
  2. Set oie = CreateObject("internetexplorer.application")
  3. oie.Navigate("about:blank")
  4. Do Until oie.ReadyState = 4 : WScript.Sleep 200 : Loop
  5. CreateObject("wscript.shell").run "cmd /c taskkill /f /fi " & Chr(34) & "windowtitle eq 空白页*" & Chr(34) & " 2>nul", 0, 1
  6. vbstr = oie.Document.parentwindow.clipboarddata.getdata("text")
  7. If vbstr <> "" Then oie.Document.parentwindow.clipboarddata.setdata "text", Replace(vbstr, vbCr, vbCrLf)
  8. oie.Quit
  9. Set oie = Nothing
复制代码
***共同提高***

如果把VBS脚本多运行一次,处理后的结果就会每行后面多一个空行

TOP

一对 getdata  setdata  解决问题,短小实用,顶一个!

TOP

  1. mshta "javascript:clipboardData.setData('text', clipboardData.getData('text').replace(/\r\n?|\r?\n/g,'\r\n'));close();"
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

看你用什么编辑器了,Editplus表示毫无压力

TOP

我是先用UltraEdit再升级到QQ2011的,所以发现直接复制到QQ有问题,就直接用UltraEdit了,倒是没觉得很麻烦

TOP

返回列表