Clearing the clipboard using VBScript

clipboard, vbscript, windows

Solution

It can not be done directly, but you can let an application do the work. This will clear the clipboard, using the command-line tool `clip`:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c echo. >NUL  | clip", 0, True

Another way is to use applications that have a COM interface and that can manipulate the clipboard. E.g. Microsoft Word and Internet Explorer.

This will work, using Internet Explorer, but it may throw a user dialog:

Set slaveApplication = CreateObject("InternetExplorer.Application")
slaveApplication.Navigate("about:blank")
slaveApplication.document.parentwindow.clipboardData.SetData "text", ""
slaveApplication.Quit

Problem

How can the clipboard be cleared using VBScript on Win32?

Original source