VBA~クリップボードに格納されているデータの形式を判定しよう~Excel
VBAでクリップボードに格納されているデータの形式を判定したい場合はApplication.ClipboardFormatsプロパティを使います。クリップボードが空の場合はClipboardFormats(1)が-1になります。
下のコードを実行するとクリップボードが空の場合はメッセージボックスに"クリップボードに何もありません。"と表示されます。画像がある場合は画像がアクティブシートのセルB2に貼り付けられます。
画像がある場合は画像がアクティブシートのセルB2に貼り付けられます。
Sub test1() Dim a As Long If Application.ClipboardFormats(1) = True Then MsgBox "クリップボードに何もありません。" Exit Sub End If For a = 1 To UBound(Application.ClipboardFormats) If Application.ClipboardFormats(a) = xlClipboardFormatBitmap Then ActiveSheet.Paste Destination:=Range("B2") Exit For End If Next End Sub
形式は以下の通りになります。
名前 | 値 | 説明 |
---|---|---|
xlClipboardFormatBIFF | 8 | Excel バージョン 2.x 用バイナリ交換ファイル形式 |
xlClipboardFormatBIFF12 | 63 | バイナリ交換ファイル形式 12 |
xlClipboardFormatBIFF2 | 18 | バイナリ交換ファイル形式 2 |
xlClipboardFormatBIFF3 | 20 | バイナリ交換ファイル形式 3 |
xlClipboardFormatBIFF4 | 30 | バイナリ交換ファイル形式 4 |
xlClipboardFormatBinary | 15 | バイナリ形式 |
xlClipboardFormatBitmap | 9 | ビットマップ形式 |
xlClipboardFormatCGM | 13 | CGM 形式 |
xlClipboardFormatCSV | 5 | CSV 形式 |
xlClipboardFormatDIF | 4 | DIF 形式 |
xlClipboardFormatDspText | 12 | Dsp Text 形式 |
xlClipboardFormatEmbeddedObject | 21 | 埋め込みオブジェクト |
xlClipboardFormatEmbedSource | 22 | 埋め込みソース |
xlClipboardFormatLink | 11 | リンク |
xlClipboardFormatLinkSource | 23 | ソース ファイルへのリンク |
xlClipboardFormatLinkSourceDesc | 32 | ソースの説明へのリンク |
xlClipboardFormatMovie | 24 | 移動 |
xlClipboardFormatNative | 14 | ネイティブ |
xlClipboardFormatObjectDesc | 31 | オブジェクトの説明 |
xlClipboardFormatObjectLink | 19 | オブジェクトのリンク |
xlClipboardFormatOwnerLink | 17 | オーナーへのリンク |
xlClipboardFormatPICT | 2 | 画像 |
xlClipboardFormatPrintPICT | 3 | 印刷画像 |
xlClipboardFormatRTF | 7 | RTF 形式 |
xlClipboardFormatScreenPICT | 29 | 表示画像 |
xlClipboardFormatStandardFont | 28 | 標準フォント |
xlClipboardFormatStandardScale | 27 | 標準スケール |
xlClipboardFormatSYLK | 6 | SYLK |
xlClipboardFormatTable | 16 | テーブル |
xlClipboardFormatText | 0 | テキスト |
xlClipboardFormatToolFace | 25 | ツール表示 |
xlClipboardFormatToolFacePICT | 26 | ツール表示画像 |
xlClipboardFormatVALU | 1 | 値 |
xlClipboardFormatWK1 | 10 | ブック |