Skip to content Skip to sidebar Skip to footer

Cara Menghapus Clipboard Windows dari Excel dengan Macro VBA

Clipboard adalah istilah asing dari papan tipis dan kaku di bagian atasnya terdapat penjepit untuk menahan kertas pada tempatnya.

Di pasaran, papan semacam ini lebih dikenal dengan papan alas menulis, papan jalan, papan ujian dan sebutan lainnya menurut daerah setempat.

Kita tidak akan membahas papan tersebut panjang lebar, hanya saja papan ini merupakan ikon dari fitur Clipboard pada sistem operasi Windows.

Pada kesempatan kali ini kami akan berbagi tip singkat berupa susunan kode macro yang fungsinya mampu menghapus clipboard Windows.

Dalam Excel, Anda mungkin tidak dapat melihat keberadaan clipboard karena tugasnya hanya pada saat Anda menyalin data melalui perintah cut, copy, dan paste. 

Clipboard Windows adalah tempat penyimpanan sementara, yang mana gunanya untuk menyimpan data informasi yang akan Anda salinkan atau pindahkan dari satu tempat ke tempat lain.

Adapun jenis data yang dapat disalin maupun dipindahkan melalui Clipboard tersebut tidak hanya berupa tulisan atau rumus saja namun lebih dari itu (tercatat ada lebih dari 30 jenis data) sebagai contoh diantaranya adalah grafik, screenshot atau tangkapan layar, gambar atau foto, maupun juga hyperlink.

Macro VBA Excel memiliki kemampuan untuk memprogram berbagai objek Windows melalui Application Programming Interface yang disingkat dengan API.

Objek-objek windows yang dapat diprogram tersebut diantaranya adalah status bar, browser, recycle bin atau keranjang sampah, dan Clipboard seperti yang dibahas dalam postingan ini.

Dalam VBA, Agar Clipboard benar-benar terhapus atau dibersihkan dalam komputer maka tidak cukup hanya dengan menekan tombol Esc pada keyboard atau dengan cara menggunakan statement Application.CutCopyMode=False saja melainkan dengan menggunakan fungsi API Windows yang membuat macro ini mampu menghapus semua jenis data pada clipboard.

Anda dapat menuliskan kode macro ini pada module di VBE:

Public Declare Function OpenClipboard Lib "user32" _
(ByVal hwnd As Long) As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Sub ClearClipboard()
OpenClipboard (0&)
EmptyClipboard
CloseClipboard
End Sub

Khusus bagi Anda sebagai pengguna Windows 64-bit agar kode macro dapat bekerja maka Anda perlu mengunduh sebuah file Win32API_PtrSafe agar dapat mendukung versi 64-bit yang bisa didapat melalui link ini kemudian silakan Anda ubah kode macro di atas dengan kode berikut:

Private Declare PtrSafe Function OpenClipboard Lib "user32" _
(ByVal hWnd As LongPtr) As LongPtr
Private Declare PtrSafe Function CloseClipboard Lib "user32" _
() As LongPtr
Private Declare PtrSafe Function EmptyClipboard Lib "user32" _
() As LongPtr
Sub ClearClipboard()
OpenClipboard (0&)
EmptyClipboard
CloseClipboard
End Sub

Demikian cara membersihkan history clipboard windows melalui Excel dengan bantuan pemrograman kode macro VBA.

Semoga bermanfaat.