1. Mencegah Save As
2. Mencegah print
3. Mencegah print sheet tertentu
4. Mencegah insert sheet
Mencegah User Melakukan Save As
Daftar Isi Artikel
Atas dasar argumentasi tertentu , mungkin kita tak ingin user melaksanakan save as dan mengubah nama file template yang kita buat. Untuk itu , kita sanggup menyisipkan code pada module workbook.
- Jika kita menghasilkan file gres , maka save dahulu file tersebut sebelum disisipkan code. Jika workbook gres belum di save , dan lalu kita menyisipkan code cegah save as maka file tersebut tidak akan sanggup di-save sama sekali.
- Tekan Alt F11 untuk masuk ke VBA editor.
- Masuk ke module object Thisworkbook (dengan cara double klik object thisworkbook di jendela project explorer)
- Copy code berikut pada module object thisworkbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean , Cancel As Boolean)
Dim responUser As Long
If SaveAsUI = True Then
responUser = MsgBox("Maaf , file tidak sanggup di save as dengan nama lain" _
& Chr(10) & "Apakah anda akan menyimpan saja?" , vbQuestion + vbOKCancel)
Cancel = (responUser = vbCancel)
If Cancel = False Then Me.Save
Cancel = True
End If
End Sub
Letak code dalam modul VBA sanggup dilihat dalam screenshot berikut:
Setelah code di copy paste atau diketik di modul object thisworkbook , silahkan coba kerjakan proses Save As
Maka akan timbul pesan seumpama pada gambar di bawah ini:
Jika user menekan tombol ok , maka file akan disimpan biasa (bukan save as) dan tidak ada pergantian nama file. Jika user menekan cancel , maka pergantian tidak akan tersimpan.
Mencegah User Melakukan Print.
Karena menyaksikan banyak kertas print rampung di kawasan sampah atau tercecer / menumpuk di bawah meja kerja , kita sanggup memiliki gagasan untuk menolong meminimalkan kertas dengan cara menangkal user untuk melaksanakan print. Untuk itu kita sanggup menyisipkan code pada event before print di module thisworkbook.
- Tekan Alt F11 untuk masuk ke VBA editor
- Masuk ke module object Thisworkbook (dengan cara double klik object thisworkbook di jendela project explorer)
- Copy code berikut pada module object thisworkbook.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
MsgBox "Maaf anda tidak sanggup print buku kerja ini" , vbInformation
End Sub
Silahkan test dengan cara mengerjakan command print (File –> Print –> Tombol Print)
Maka user akan menyaksikan pesan pemberitahuan tidak bisa print , seumpama gambar di bawah ini.
Kita sanggup saja menyisipkan code tanpa code pesan (msgbox) seumpama berikut:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub
Code tersebut bekerjsama sudah cukup untuk menangkal user melaksanakan print. Namun jikalau tidak ada pesan pemberitahuan , maka kemungkinan besar user akan mengira ada error dan mengejar-ngejar orang IT untuk memperbaikinya. Dengan kata lain , msgbox meski opsional tapi sungguh penting untuk memberi tahu user perihal apa yang dihentikan dijalankan maupun yang mesti dijalankan sehingga sanggup menangkal adanya kesalahpahaman.
Mencegah print sheet tertentu
Jika kita ingin menangkal user melaksanakan print sheet tertentu saja maka gunakan code berikut:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Select Case ActiveSheet.Name
Case "Sheet1" , "Sheet2"
Cancel = True
MsgBox "Maaf anda tidak sanggup print " & ActiveSheet.Name , vbInformation
End Select
End Sub
Catatan:Â dalam pola di atas , nama sheet yang dicegah untuk diprint merupakan “Sheet1” , “Sheet2”. Kita sanggup mengganti dan memperbesar sheet sesuai keperluan.
Misalnya:
Case “data 1” , “data 2” , “data 3”
Mencegah Insert Sheet
Excel bekerjsama sudah menawarkan fiture Protect Workbook’s Structure yang sanggup menangkal user untuk sanggup men-delete worksheet , mengganti susunan sheet , mengganti nama sheet dan sebagainya. Namun adakalanya kita cuma ingin menangkal user untuk menyertakan sheet gres dan tetap membolehkan pergantian struktur lainnya.
Untuk menangkal user menyertakan sheet gres , kerjakan langkah seumpama pola sebelumnya. Bedanya cuma pada code yang digunakan.
- Masuk ke VBA editor dengan cara tekan Alt + 11
- Selanjutnya Masuk ke module object Thisworkbook dengan cara double klik object thisworkbook di jendela project explorer
- Selanjutnya pada module object thisworkbook , copy code di bawah ini:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.DisplayAlerts = False
MsgBox "Maaf , anda tidak sanggup menyertakan sheet baru" , vbInformation
Sh.Delete
Application.DisplayAlerts = True
End Sub
Silahkan kerjakan test dengan cara menjajal tambahkan sheet baru. Maka akan tampil pesan seumpama screenshot di bawah ini.
Sekian dahulu catatan perihal contoh-contoh code untuk menangkal user melaksanakan langkah-langkah tertentu pada excel , yaitu: menangkal save as , menangkal print dan menangkal insert sheet. Semoga bermanfaat.
Artikel terkait:
Teknik Find & Replace Text dalam Comment Box
Cara Entri Data Pada Beberapa Sheet Sekaligus
Cara Membuat Daftar Isi Otomatis
Referensi:
David Raina & Hawley 2007 , Excel Hack , Tips & Tools for Streamlining Your Spreadsheet , 2nd edition. O’Reilly Media , Inc

Seorang pengajar dan pembelajar yang mengurus lembaga pelatihan dan kursus komputer bernama LKP Naura