Нужно понимать, что при использовании объекта "DataObject" в переменную вставляются не просто данные, а текст. Например, если в буфере обмена Windows находится рисунок, то он не будет помещён в объект "DataObject". Объект "DataObject" работает только с текстом.
Макрос
Sub Макрос()
Dim DataObject As Object, var
'1. Создание объекта "DataObject".
Set DataObject = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'2. Копирование текста из буфера обмена Windows в объект "DataObject".
DataObject.GetFromClipboard
'3. Если буфер обмена Windows пустой или если в нём не текст, а что-то другое, например, рисунок.
' В скобках нужно указывать всегда число 1. Другие числа, как я понимаю, не используются.
' В справке ещё упоминаются "пользовательские форматы", но что это такое, я пока не знаю.
If DataObject.GetFormat(Format:=1) = False Then
Exit Sub
End If
'4. Копирование текста из "DataObject" в переменную.
var = DataObject.GetText(Format:=1)
End Sub