VBS操作剪切板

方式一:

Sub SetClipboardText(Text)   '写入信息到剪切板
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Navigate("about:blank")
    objIE.Document.ParentWindow.ClipboardData.SetData "text", Text
    objIE.Quit
End Sub

Function GetClipboardText()   '剪切读取板信息
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Navigate("about:blank")
    GetClipboardText = objIE.Document.ParentWindow.ClipboardData.GetData("text")
    objIE.Quit
End Function

方式二:

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

Function GetClipboardText()   '剪切读取板信息
    Set objHTML=CreateObject("htmlfile") 'xmlfile、mhtmlfile也可以
    GetClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text")
End Function

注:以上方式二中的写入到剪切板也可写成:wsShell.Run "mshta vbscript:ClipboardData.SetData(""text""," &Chr(34)& Text &Chr(34)& ")(close)",0,True   即VBS连着写的两个双引号转义为一个引号,这样可减少使用Chr(34)来替代;

posted @ 2012-10-29 13:37  phpbin  阅读(2005)  评论(0编辑  收藏  举报