クリップボードに格納されているデータを削除する。
VBAでクリップボードに格納されているデータを削除するにはAPIを利用して削除することができます。
●クリップボードの削除
#If VBA7 And Win64 Then
Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
#Else
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
#End If
'*******************************************************************
' クリップボードのデータを削除
'*******************************************************************
Sub ClearClipboard()
Dim lRetVal As Long
'クリップボードにデータがある場合は削除
If Application.ClipboardFormats(1) <> -1 Then
'クリップボードを開く
If OpenClipboard(0&) = 0 Then
Debug.Print "(Error)クリップボードが開けません。" & _
"他アプリ等が利用している可能性があります。"
Exit Sub
End If
'クリップボードの内容を消去
lRetVal = EmptyClipboard
'クリップボードを閉じる
lRetVal = CloseClipboard
End If
End Sub


