投稿者 るきお  (社会人) 投稿日時 2021/1/30 22:16:18
Linkの場合、中に Excel という文字が入っていたので、それを利用して判定を書いてみました。
Windowsフォームアプリケーションです。

Private Function DoesClipboardContainExcelCells() As Boolean

    Dim data As IO.MemoryStream = DirectCast(Clipboard.GetData("Link"), IO.MemoryStream)

    If data Is Nothing Then
        Return False
    End If

    Using reader As New IO.StreamReader(data)
        Dim linkText As String = reader.ReadToEnd
        If linkText.StartsWith("Excel"Then
            Return True
        End If
    End Using

    Return False

End Function


見てみたらこうだったというレベルで、Linkがそもそも何かもわかっていないので、どの程度汎用性があるかはわかりません。
環境はWindows10 + Excel 2019 です。

あとは、XML Spreadsheet として取得した時も、Excelという文字が中に入っていました。