'設置剪切板的內容
Dim Form, TextBox
Set Form = CreateObject("Forms.Form.1")
Set TextBox = Form.Controls.Add("Forms.TextBox.1").Object
TextBox.MultiLine = True
TextBox.Text = "忘記了,喜歡一個人的感覺"
TextBox.SelStart = 0
TextBox.SelLength = TextBox.TextLength
TextBox.Copy
'獲取剪切板的內容
Dim Form, TextBox Set Form = CreateObject("Forms.Form.1") Set TextBox = Form.Controls.Add("Forms.TextBox.1").Object TextBox.MultiLine = True If TextBox.CanPaste Then TextBox.Paste WScript.Echo TextBox.Text End If
方式一:
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)來替代;
?