在VBScript中,你可以使用Windows脚本宿主(WSH)和Windows管理对象(WMI)来将特定值复制到剪贴板。以下是一个示例脚本,演示如何将特定值复制到剪贴板。
MSForms.DataObject
一种常见的方法是使用 MSForms.DataObject
对象。请注意,这需要在系统上安装Microsoft Forms 2.0库(通常随Microsoft Office一起安装)。
以下是一个示例脚本:
' 创建一个MSForms.DataObject对象
Set objData = CreateObject("MSForms.DataObject")
' 要复制到剪贴板的文本
strText = "Hello, World!"
' 将文本设置到DataObject
objData.SetText strText
' 将DataObject的内容复制到剪贴板
objData.PutInClipboard
' 清理对象
Set objData = Nothing
' 提示用户
MsgBox "Text copied to clipboard: " & strText
Shell.Application
另一种方法是使用 Shell.Application
对象。这种方法不需要Microsoft Forms 2.0库,但它只能在Windows 10及更高版本上工作。
以下是一个示例脚本:
' 创建一个Shell.Application对象
Set objShell = CreateObject("Shell.Application")
' 要复制到剪贴板的文本
strText = "Hello, World!"
' 创建一个临时文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
strTempFile = objFSO.GetSpecialFolder(2).Path & "\temp.txt"
Set objFile = objFSO.CreateTextFile(strTempFile, True)
objFile.Write strText
objFile.Close
' 将临时文件的内容复制到剪贴板
objShell.Namespace(0).ParseName(strTempFile).InvokeVerb "copy"
' 删除临时文件
objFSO.DeleteFile strTempFile
' 清理对象
Set objFile = Nothing
Set objFSO = Nothing
Set objShell = Nothing
' 提示用户
MsgBox "Text copied to clipboard: " & strText
Clip
命令在Windows 10及更高版本中,你还可以使用 clip
命令行工具将文本复制到剪贴板。以下是一个示例脚本:
' 要复制到剪贴板的文本
strText = "Hello, World!"
' 创建一个临时文件
Set objFSO = CreateObject("Scripting.FileSystemObject")
strTempFile = objFSO.GetSpecialFolder(2).Path & "\temp.txt"
Set objFile = objFSO.CreateTextFile(strTempFile, True)
objFile.Write strText
objFile.Close
' 使用clip命令将临时文件的内容复制到剪贴板
Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd /c type """ & strTempFile & """ | clip", 0, True
' 删除临时文件
objFSO.DeleteFile strTempFile
' 清理对象
Set objFile = Nothing
Set objFSO = Nothing
Set objShell = Nothing
' 提示用户
MsgBox "Text copied to clipboard: " & strText
领取专属 10元无门槛券
手把手带您无忧上云