VBA – Clipboard i pitanje bezbednosti podataka

U sluฤaju da delite kompjuter sa drugima, Clipboard moลพe da otkrije vaลกe poverljive podatke, ฤak i kada zatvorite aplikaciju iz koje je Clipboard „napunjen“. Da bi stvari bile joลก komplikovanije, sa dolaskom Office-a 2000 imamo dve vrste Clipboard-a:

  • Windows Clipboard
  • Office Clipboard
Sadrลพaj Office Clipboard-a moลพete ruฤno da obriลกete preko palete Clipboard, i klika na dugme „Clear Clipboard“ (vidi sliku). Microsoft navodi da se brisanjem sadrลพaja Office Clipboard-a takoฤ‘e prazni i Windows Clipboard. To je taฤno ako kliknete na dugme „Clear Clipboard“, ali ipak, poslednja stavka koju ste smestili u Office Clipboard ostaje dostupna preko Windows Clipboard-a, ฤak i kada zatvorite sve Office aplikacije. Drugim reฤima, potrebno je da „ispraznite“ oba Clipboard-a ukoliko ลพelite da zaลกtite informacije koje ste kopirali tokom rada u nekoj Office aplikaciji.

Bilo bi dobro da moลพete da na neku od standardnih paleta alatki postavite dugme „Clear Clipboard“, a Microsoft to nije omoguฤ‡io. Sadrลพaj Clipboard-a moลพete uฤiniti nedostupnim na dva naฤina. Prvi je da trenutni sadrลพaj zamenite nekim drugim (nebitnim) sadrลพajem, na primer samo nekim karakterom. A drugi je da to uradite uz pomoฤ‡ VBA programskog koda i pozivom API funkcije „EmptyClipboard“. Biฤ‡e dovoljno da sledeฤ‡i makro dodelite nekom novom dugmiฤ‡u na bilo kojoj paleti:


Private Declare Function OpenClipboard_
Lib „user32“ (ByVal hwd As Long) As Long
Private Declare Function EmptyClipboard_
Lib „user32“ () As Long
Private Declare Function CloseClipboard_
Lib „user32“ () As Long

Sub ObrisiClipboard ()
If OpenClipboard (0) Then
Call EmptyClipboard
Call CloseClipboard
EndIf
End Sub

Pratite Krstaricu na www.krstarica.com