Jumat, 16 November 2018

CARA MEMAKSA PENGGUNA MENGAKTIFKAN MACRO SECURITY EXCEL

Ada saat dimana anda mungkin menginginkan pengguna file excel yang anda buat untuk mengaktifkan Macro agar file bisa dijalankan sebagaimana mestinya. Dengan kata lain, sebuah file yang didalamnya terdapat kode Macro - mengharuskan pengaturan Macro Security menjadi aktif, karena jika tidak maka file tersebut sudah pasti tidak dapat bekerja sesuai keinginan.

Pada dasarnya dalam Aplikasi Microsoft Office Excel tidak ada sebuah kode untuk mengaktifkan Macro secara otomatis, namun Anda dapat memaksa pengguna untuk mengaktifkan Macro 'secara otomatis' saat sebuah file excel terbuka.

Cara kerja konsep

Ketika Macro Dalam Keadaan MATI (disable)

» Menyembunyikan Sheet utama yang berisi file

» Menampilkan Sheet informasi agar pengguna mengaktifkan macro

Ketika Macro Dalam Keadaan NYALA (enable)

» Menampilkan kembali sheet utama

» Menyembunyikan sheet informasi macro




Penting :

» Sebelum memasang kode pastikan MACRO Security dalam keadaan aktif

» Sheet tambahan tidak berada di awal atau di akhir.

» Yang paling penting adalah Berdoa agar kode berhasil……

Mempersiapkan Lembar Kerja

Saya berasumsi bahwa dalam lembar kerja excel anda terdapat 3 buah sheet, dengan masing-masing nama sheet antara lain; Sheet1, Sheet2, dan Sheet3.




Sheet1 dan Sheet3 adalah sheet utama yang berisi data excel anda, sedangkan

Sheet2 adalah Sheet informasi yang Anda dapat mengisinya dengan sebuah informasi agar pengguna mengaktifkan Macro Security.

Memasang Kode VBA

Aktifkan dulu Microsoft Visual Basic, kemudian buatlah sebuah Module dengan cara

klik Menu Insert » Module. dan selanjutnya copy paste kode berikut di Module yang sudah anda buat.





Public bIsClosing As Boolean

Dim wsSheet As Worksheet





Sub HideAll()

Application.ScreenUpdating = False

For Each wsSheet In ThisWorkbook.Worksheets

If wsSheet.CodeName = "Sheet2" Then

wsSheet.Visible = xlSheetVisible

Else

wsSheet.Visible = xlSheetVeryHidden

End If

Next wsSheet

Application.ScreenUpdating = True

End Sub




Sub ShowAll()

bIsClosing = False

For Each wsSheet In ThisWorkbook.Worksheets

If wsSheet.CodeName <> "Sheet2" Then

wsSheet.Visible = xlSheetVisible

End If

Next wsSheet

Sheet2.Visible = xlSheetVeryHidden

End Sub





Langkah berikutnya adalah pilih ThisWorkbook dan paste kode berikut di dalamnya




Private Sub Workbook_BeforeClose(Cancel As Boolean)

bIsClosing = True

End Sub




Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If Cancel = True Or bIsClosing = False Then Exit Sub

Run "HideAll"

End Sub




Private Sub Workbook_Deactivate()

If bIsClosing = False Then Exit Sub

Run "HideAll"

End Sub




Private Sub Workbook_Open()

Run "ShowAll"

End Sub





Finalizing

Agar kode diatas dapat bekerja dengan baik, simpan file dengan type Excel Macro-Enabled Workbook.

Lihat perubahan dengan cara mengaktifkan atau menonaktifkan pengaturan Macro Excel

Tidak ada komentar:

Posting Komentar

MENGENAL VISUAL BASIC DI MS. EXCEL