Option Explicit#If VBA7 Then Public Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Public Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Public Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long#Else Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Public Declare Function CloseClipboard Lib "user32" () As Long Public Declare Function EmptyClipboard Lib "user32" () As Long#End IfSub CallEC() Dim lngRet As Long lngRet = OpenClipboard(Application.hwnd) If lngRet Then EmptyClipboard CloseClipboard End IfEnd Sub
VBA 參考程式碼:
Option Explicit#If VBA7 Then Public Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Public Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Public Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long#Else Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Public Declare Function CloseClipboard Lib "user32" () As Long Public Declare Function EmptyClipboard Lib "user32" () As Long#End IfSub CallEC() Dim lngRet As Long lngRet = OpenClipboard(Application.hwnd) If lngRet Then EmptyClipboard CloseClipboard End IfEnd Sub
先複製一段文字到剪貼簿,然後執行 CallEC 過程,之後便會看到剪貼簿被清空了。