Dear Mr Kid, Sudah terjawab pertanyaannya mr kid ternyata tetap kedap kedip dan saya bisa menggunakan excel ketika macro berjalan,,
Okeh thx ya pak,, ________________________________ Dari: Kurei recca <[email protected]> Kepada: "[email protected]" <[email protected]> Dikirim: Minggu, 30 September 2012 8:58 Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP Dear Mr Kid, Saya sudah coba tapi saya ingin bertanya beberapa hal lagi nih pak Bisa ga ketika macronya jalan, excel tetap dapat berfungsi seperti biasa ? Misal ketika bunyi beep itu keluar saya tetap dapat melakukan aktivitas di workbook tersebut ? Thx pak ________________________________ Dari: Kurei recca <[email protected]> Kepada: "[email protected]" <[email protected]> Dikirim: Minggu, 23 September 2012 13:59 Judul: Bls: [belajar-excel] CODING MACRO BUNYI BEEP Makasih Mr Kid, dicoba dulu yaa,, thx yaa ________________________________ Dari: Kid Mr. <[email protected]> Kepada: [email protected] Dikirim: Minggu, 23 September 2012 13:37 Judul: Re: [belajar-excel] CODING MACRO BUNYI BEEP Hai Recca, File terlampir berisi UDF SoundWarning yang tugasnya hanya membunyikan file wav dengan kriteria tertentu. Mungkin kestabilannya masih harus diuji, karena hanya rewrite dari bahasa C++ ke VBA. Kalau yang ke VB6 bisa lebih stabil. Untuk mewarnai blinking, diatur melalui application.timer secara tidak langsung. Jadi, application.timer pada file terlampir hanya mengubah suatu nilai konstanta secara terus menerus dari 1 menjadi 2. Ketika application.timer dihentikan, maka nilai konstanta diset menjadi 0. Setiap kali buka workbook, set pertama saat open selalu nilai konstanta bernilai 1. Nilai konstanta ini disimpan dalam sebuah nama range bernama '_MyTrigger_' Nilai dalam _MyTrigger_ lah yang menjadi nilai kondisi dalam Conditional Formatting (CF). Jadi blinking sebenarnya dilakukan oleh si CF karena ada pengubahan nilai _MyTrigger_ oleh application.timer. Jadi nanti kalau ada yang gak stabil, coba perhatikan betul, sisi blinking-nya ada sisi sound-nya. Berikut gambaran tentang UDF SoundWarning UDF SoundWarning Syntax =SoundWarning( kriteria_mulai_warning , [pesan_warning], [filefullname_suara_peringatan] ) kriteria_mulai_warning diisi nilai numerik, yang bisa berupa hasil komputasi ekspresi tertentu jika nilainya <= 0, maka SoundWarning akan menghentikan bunyi jika nilainya > 0, maka SoundWarning akan memulai bunyi peringatan [pesan_warning] teks yang akan ditampilkan ke user yang menjadi nilai hasil UDF ini ketika kriteria_mulai_warningbernilai >0. teks bisa berupa hasil komputasi ekspresi tertentu [filefullname_suara_peringatan] nama file suara yang akan dijadikan nada peringatan. nama file harus tertulis lengkap beserta drive dan foldernya bila file tidak ditentukan user atau file dari user tidak ditemukan, maka file default C:\Windows\Media\notify.wav akan dimainkan. jika file tidak ditemukan, maka tidak ada suara peringatan yang dimainkan Result Jika nilai kriteria_mulai_warningbernilai >0, maka file suara akan dieksekusi menjadi suara peringatan disertai pesan teks dalam [pesan_warning] Jika nilai kriteria_mulai_warningbernilai <=0, maka suara peringatan dihentikan dan tidak ada pesan teks yang ditampilkan Contoh pemakaian : =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'" ) Mainkan file default ketika isi cell B3 adalah teks 'a' (b3="a") kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a' =SoundWarning( 1*(B3="a") , "Cell B3 tidak boleh 'a'", "C:\Windows\Media\chord.wav" ) Mainkan file bernama chord.wavyang ada di C:\Windows\Media\ ketika isi cell B3 adalah teks 'a' (b3="a") kemudian dikonversi menjadi nilai (1*) dan tampilkan pesan berbunyi : Cell B3 tidak boleh 'a' Peringatan !!! 1 Pastikan pada event workbook before close, baris terakhir sebelum End Sub diberi kode untuk menghentikan sound sebagai berikut : PlaySound vbnullstring,0,9 2 Pada pengembangan untuk memasukkan UDF SoundWarning menjadi sebuah AddIn, sertai dengan class pengatur Workbook agar setiap workbook yang ditutup menjalankan PlaySound vbnullstring,0,9 kemudian pada file addin dilanjutkan dengan proses application.calculate untuk memicu UDF SoundWarning pada workbook yang belum tertutup 3 Yang dimainkan biasanya file pertama yang dijumpai, tetapi hal ini masih belum stabil. Mungkin harus pakai midi supaya bisa bareng semua dimainkan dan biar ribut seperti pasar :D VBA Code untuk UDF SoundWarning : Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _ ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long Public sAddr As String 'Kid,Jakarta, 2007-01-05,rewrite for VB6 and VBA 'SoundWarning : mengeksekusi file .wav dengan suatu kondisi tertentu dan memberi return value teks 'butuh WinAPI function PlaySound pada winmm.dll Public Function SoundWarning(lStartPeringatan As Long, _ Optional sWarning As String = "nah lo... ada yang gak pas", _ Optional sFileName As String = vbNullString) As String Dim sFile As String, sCallerAddr As String Application.Volatile If LenB(sFileName) = 0 Then sFile = "C:\Windows\Media\notify.wav" ElseIf LenB(Dir$(sFileName)) = 0 Then sFile = "C:\Windows\Media\notify.wav" Else sFile = sFileName End If sCallerAddr = Application.Caller.Address & "|" If lStartPeringatan < 1 Then sAddr = Replace$(sAddr, sCallerAddr, vbNullString) If LenB(sAddr) = 0 Then PlaySound vbNullString, 0, 9 End If SoundWarning = vbNullString Else If InStr(sAddr, sCallerAddr) = 0 Then sAddr = sAddr & sCallerAddr End If PlaySound sFile, 0, 9 SoundWarning = sWarning End If End Function Module yang mengatur nilai dalam nama range _MyTrigger_ : Public lTimer As Long Public Sub MyTrigger() Select Case lTimer Case 0 Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _ Procedure:="MyTrigger" StopMyTrigger Case 1, 2 lTimer = 2 + (lTimer = 2) ThisWorkbook.Names("_MyTrigger_").Value = lTimer Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _ Procedure:="MyTrigger" End Select End Sub Public Sub StopMyTrigger() Application.OnTime EarliestTime:=Now + TimeValue("00:00:01"), _ Procedure:="MyTrigger", _ Schedule:=False End Sub Pengaturan saat open workbook : Private Sub Workbook_Open() lTimer = 1 ThisWorkbook.Names("_MyTrigger_").Value = lTimer MyTrigger End Sub Pengaturan saat workbook akan di close (before close) Private Sub Workbook_BeforeClose(Cancel As Boolean) lTimer = 0 ThisWorkbook.Names("_MyTrigger_").Value = lTimer MyTrigger PlaySound vbNullString, 0, 9 End Sub Moga-moga gak bikin crash ya... Wassalam, Kid. 2012/9/23 Kurei recca <[email protected]> > >Salam Para Master Excel, > >Ceritanya saya ingin membuat suatu coding dengan kondisi Jika Cell A1 >bertuliskan kata "TRUE" maka akan ada bunyi beep berulang selama 20 detik or >periode tertentu dan Cell Tersebut kelap kelip berwarna kuning dan putih >selama 20 detik tersebut. > >Kira2 bagaimana ya codingnya,,? > >Mohon Pencerahannya... > >Best Regards > > > >

