クリップボードのデータ形式を確認

クリップボードに格納されているデータ形式を確認する。

クリップボードに格納されているデータ形式を確認するにはApplicationオブジェクトのClipboardFormats プロパティを利用します。

サンプルコードではテキスト形式とビットマップ形式の2種類を定数(xlClipboardFormatTexなど)を利用して判別していますが、他にもバイナリ形式(xlClipboardFormatBinary)やCSVフォーマット形式(xlClipboardFormatCSV)なども判別できます。
またクリップボードにデータが格納されていない場合はClipboardFormats プロパティからの取得した配列要素1の値が”-1″になります。

'******************************************************************
' クリップボードのデータ形式を確認
'******************************************************************
Sub ChkClipboard()
        
    Dim vCBF As Variant
    vCBF = Application.ClipboardFormats
    
    If vCBF(1) = -1 Then
        Debug.Print "クリップボードにデータは格納されていません。"
        Exit Sub
    End If
    
    '形式を確認
    Dim i As Long
    For i = 1 To UBound(vCBF)
        Select Case vCBF(i)
        Case xlClipboardFormatText
            Debug.Print "テキスト形式"
            Exit For
        Case xlClipboardFormatBitmap
            Debug.Print "ビットマップ形式"
            Exit For
        Case Else
            Debug.Print "テキスト、ビットマップ形式以外"
        End Select
    Next i

End Sub

 ■実行結果

※実行前にテキストデータをクリップボードに設定済みの状態で実行