'Requires reference to Microsoft Forms 2.0 Object Library. Set this in Tools - References in VB Editor.
Option Explicit
Public Sub Copy_Clipboard_To_Text_File()
Dim desktopFolder As String
Dim desktopFile As String
Dim filenum As Integer
Dim clipboard_text As String
desktopFolder = Get_SpecialFolderPath("Desktop")
desktopFile = desktopFolder & "\clipboard_test.txt"
filenum = FreeFile
Open desktopFile For Output As #filenum
clipboard_text = Get_Clipboard_Text
Print #filenum, clipboard_text
Close #filenum
End Sub
Private Function Get_SpecialFolderPath(strSpecialFolder) As String
Dim WSshell As Object
Set WSshell = CreateObject("WScript.Shell")
Get_SpecialFolderPath = WSshell.SpecialFolders(strSpecialFolder)
Set WSshell = Nothing
End Function
Private Function Get_Clipboard_Text() As String
Dim formsDataObject As MSForms.DataObject
Set formsDataObject = New MSForms.DataObject
formsDataObject.GetFromClipboard
Get_Clipboard_Text = formsDataObject.GetText
End Function