Senin, 09 Januari 2012

Cara Mencegah Save As pada Ms Excel

Terkadang, kita tidak ingin user memanfaatkan penggunaan Save As pada workbook yang kita buat. Hal ini dilakukan jika workbook digunakan oleh beberapa orang, dan kita tidak ingin terjadi duplikasi file yang isinya sama, namun nama filenya berbeda.
Untuk mencegah user menggunakan fasilitas Save As pada suatu workbook, maka langkahnya adalah sbb:
1. Buka workbook 
2. Tekan Alt + F11
3. Klik kanan objek ThisWorkbook, pilih View Code
4. Tuliskan code berikut:



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lReply As Long




  If SaveAsUI = True Then




lReply = MsgBox("Maaf, Anda tidak diperkenankan menyimpan workbook ini dengan nama lain. Anda ingin menyimpan workbook ini?", vbQuestion + vbOKCancel)


     Cancel = (lReply = vbCancel)


   If Cancel = False Then Me.Save


     Cancel = True


  End If


End Sub

5. Tekan Alt + Q untuk kembali ke Excel
6. Selesai

Selanjutnya, jika user mencoba mengakses Save As, maka akan muncul peringatan seperti ini:

File contoh bisa didownload di sini atau pada boxnet di samping

7 komentar:

  1. tp kalo misalkan user menghapus code-nya gimana? jd bisa disave as kan?

    BalasHapus
    Balasan
    1. Jadi bisa di-Save As.
      tapi untuk mencegah User menghapus kode, Kode VBA bisa diprotect.

      Hapus
  2. kalau macro ga di enable bisa di sava as ya?

    BalasHapus
  3. Jika macro tidak di-enable, otomatis Save As bisa dilakukan. Tapi kita bisa memaksa user untuk meng-enable-kan macro pada saat workbook dibuka. Seperti pada contoh Aplikasi Raport yang upload di blog ini

    BalasHapus
  4. wah mantabz tenan mas heru...
    macro2nya rapi bgt, aku msh bingung maklum msh newbe

    BalasHapus
  5. ketika file excelnya ditutup...save as nya aktif lagi...gmn mas ? mohon penjelasannya...

    BalasHapus
  6. kalau di notebooknya bos saya

    waktu buka excel sheetnya gak muncul.. padahal laporanku ada di sheet2 3 4 5 .... dstrnya

    gimana cara menampilkannya ya maz

    tolong email aja ya, penting banget soalnya
    makasih

    dutaorganik@yahoo.co.id

    BalasHapus