Minggu, 25 Desember 2016

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 bersabar dan berdoa agar berhasil . . . .

Memaksa Pengguna Mengaktifkan Macro Security Excel

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 tekan Alt + F11
+ Kemudian buatlah sebuah Module dengan cara
+ Klik Menu Insert Module
+ 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

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.

Demikianlah tips Memaksa Pengguna Mengaktifkan Macro Security Excel, tips ini bisa anda gunakan pada aplikasi microsoft excel visual basic for application (VBA), semoga bermanfaat dan dapat dipahami, Aamiin.


EmoticonEmoticon