Pak Toni,

Mr Kid, mohon izin untuk ikut menjelaskan solusi atas kasus ini..

Berikut code dari Mr Kid

======================================================================
Pada modul1

Option Explicit

Public lTry As Long
=====================================================================


=====================================================================
Pada this workbook

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If lTry > 2 Then
        Sheet1.cmdClose.Visible = True
    ElseIf lTry = -1 Then
        Exit Sub
    Else
        lTry = lTry + 1
    End If
    Cancel = True
End Sub

Private Sub Workbook_Open()
    Sheet1.cmdClose = False
    lTry = 0
End Sub
==================================================================================

==================================================================================
Pada sheet1

Option Explicit

Private Sub cmdClose_Click()
     lTry = -1
    Application.DisplayAlerts = False
    cmdClose.Visible = False
    ThisWorkbook.Save
    ThisWorkbook.Close False
    Application.DisplayAlerts = True
End Sub
===============================================================================

Pada awalnya Mr Kid mendeklarasikan sebuah variabel bertipe long yang dapat
dipanggil dari mana saja dengan nama lTry
deklarasi variabel ini ditulis pada sebuah modul dan digunakan untuk
menyimpan berapa kali user mencoba menutup file excel dengan cara mengeklik
(bener gak ya bahasanya?) tombol silang di kanan atas atau dari menu File
>> Close

Pada saat workbook dibuka (*ditandai dengan warna biru*), maka nilai lTry
ini disetting menjadi 0 (nol)

Setiap kali user mencoba menutup workbook dengan cara menekan tombol silang
di kanan atas, maka nilai lTry ini akan selalu ditambahkan dengan angka 1
sehingga nilainya akan menjadi 0, 1, 2, 3, dst

Lihat yang diberi *warna merah*, workbook hanya akan dapat ditutup manakala
lTry bernilai -1 (minus satu), sedangkan nilai awal adalah 0 (nol),, nilai
berikutnya adalah 1, 2, dan seterusnya..

kapan nilai -1 ini akan tercapai sedangkan nilainya terus bertambah? oleh
sebab itu maka mr Kid menyeting nilai -1 ini hanya pada tombol cmdClick
yang diberi warna biru.

jadi sebanyak apa pun user mencoba menutup workbook, selama ybs tidak
menekan tombol tutup maka workbook tidak akan tertutup..

Tentunya cara ini hanya berhasil jika user memperbolehkan macro berjalan di
komputer mereka denga cara meng-Enable-kan macro tersebut, jika user
men-Disable maka code tersebut tidak akan berjalan.

Solusi lain adalah memaksa user untuk meng-Enable-kan macro, jika mereka
tidak meng-enablekan maka mereka tidak dapat mengakses workbook tersebut.

cara tersebut tentunya harus disusun ulang untuk melengkapi kode yang sudah
ditulis oleh mr Kid.

Pendapat saya pribadi, kode dari Mr Kid selalu menakjubkan untuk dipelajari


wassalam,

-aji mumpung-


Pada 11 Oktober 2012 07:27, Toni Kus indratno <[email protected]>menulis:

> **
>
>
> Tetap sama Pak,,belum bisa. . . .
> bisakah lebih rinci dijelaskan ke saya,?
>
>
> tonikus.staff.uad.ac.id
>
>  
>

Kirim email ke