Ini dari tadi dah ngomongin addin dan TIDAK menyentuh script vba yg bukan di 
addin loh...



Sent from my smart enough phone

> On Feb 21, 2016, at 14:29, Hendrik Karnadi hendrikkarn...@yahoo.com 
> [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
> 
> Betul Mr. Kid...
> Tapi jika mel Workbook Open milik aplikasi Excel maka macronya kan hrs 
> diaktifkan dulu.
> 
> Harapan saya, bisa dilakukan secara langsung mel Workbook Open yang ada di 
> AddIns tanpa mengaktifkan macro di aplikasi Excelnya (kondisi macronya 
> Disable).
> 
> Jika file Excelnya sdh Terbuka maka prosedur "Suara" yang ada di AddIns dapat 
> dijalankan tanpa mengaktifkan macro di aplikasi Excelnya.
> 
> Terima kasih.
> 
> Salam,
> Hk
> 
> 
> Sent from Samsung Mobile
> 
> 
> -------- Original message --------
> From: "'Mr. Kid' mr.nm...@gmail.com [belajar-excel]"
> Date:21/02/2016 7:49 AM (GMT+07:00)
> To: BeExcel
> Subject: Re: [belajar-excel] Application.Onkey
> 
>  
> loh...
> Sudah benar pakai event workbook open. Tapi tetap jadi dirinya Excel sebagai 
> aplikasi. Artinya, event workbook open yang dikerjakan oleh si Excel.
> 
> Coba deh diperhatikan lagi. Worksheet adalah anaknya (member of) workbook 
> (thisworkbook), maka di :
> 1. class module sebuah sheet. 
>      Setiap sheet punya event change (worksheet_change).
>      atau event activate (saat sheet diaktifkan dengan nama prosedur 
> worksheet_activate)
> 2. class module ThisWorkbook
>      Di Thisworkbook juga ada event sheet change, dengan nama 
> workbook_sheetchange
>      atau event sheet activate (BUKAN event activate) dengan nama prosedur 
> workbook_sheetactivate
> 
> Dengan hirarki sheet adalah anaknya thisworkbook, sheet memiliki event change 
> atau event activate, maka di thisworkbook juga ada event sheet change atau 
> sheet activate
> 
> Dengan hirarki thisworkbook jadi anaknya aplikasi, thisworkbook memiliki 
> event open, maka akan ada event workbook open di class module aplikasi.
> 
> Jadi, keinginan Anda untuk membuat addin yang merespon setiap kali ada 
> workbook yang dibuka oleh user bisa dilakukan. Tapi event open yang dipakai 
> adalah workbook open miliknya aplikasi, karena aplikasi yang bisa punya anak 
> thisworkbook.
> 
> Regards,
> Kid
> 
> 
> 
> 2016-02-20 21:19 GMT+07:00 Hendrik Karnadi hendrikkarn...@yahoo.com 
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>>  
>> Terima kasih Mr. Kid atas cerita pendeknya.
>> 
>> Saya terpengaruh jurus Bruce Lee mengenai tendangan berantainya, satu kaki 
>> bisa nendang beberapa kali.
>> 
>> Analoginya satu kaki = satu file AddIn...
>> 
>> Jadi kalau sdh diangkat (Event Workbook_Open) bisa nendang beberapa kali 
>> (manggil prosedur lain yang ada dalam AddIn tsb).
>> 
>> Sekali lagi terima kasih Mr. Kid...telah membangunkan saya dari mimpi yang 
>> ga mungkin kesampean...untuk menjadi seorang Bruce Lee....ha ha ha.
>> 
>> Salam,
>> HK
>> 
>> Sent from Samsung Mobile
>> 
>> 
>> -------- Original message --------
>> From: "'Mr. Kid' mr.nm...@gmail.com [belajar-excel]"
>> Date:20/02/2016 7:39 PM (GMT+07:00)
>> To: BeExcel
>> Subject: Re: [belajar-excel] Application.Onkey
>> 
>>  
>> event workbook open hanya dijalankan 1 kali, yaitu saat workbook di-open.
>> 
>> File bertipe .xlsm, .xls, .xlsb, .xla, .xlam yang memanfaatkan event 
>> workbook open, hanya akan dijalankan 1 kali saat workbook tersebut dibuka 
>> dan tidak ada hubungannya dengan workbook lain dibuka.
>> 
>> Jadi file addin (.xla, .xlam) yang punya event workbook open, maka event 
>> tersebut hanya dijalankan 1 kali, yaitu saat si file addin di-load oleh 
>> excel. Kapan ? Saat Excel dibuka (BUKAN saat workbook dibuka) jika si addin 
>> telah diaktifkan.
>> 
>> Untuk tujuan yang Anda maksud, coba pelajari lebih dulu tentang class 
>> module, kemudian dilanjutkan dengan object withevents.
>> 
>> 
>> Kembali ke kasus awal...
>> Jadi prosedur workbook open dan prosedur suara tersebut di sebuah file addin 
>> ya... Misal sebut saja file addin ini bernama siAdd
>> Begini...
>> Anggap saja file addin bernama siAdd sudah diaktifkan di Excel tersebut oleh 
>> si mimin kompi.
>> 
>> Suatu hari, ketika Excel belum dibuka sama sekali... datanglah seekor user 
>> yang kemudian membuka Excel yang sudah aktif addin siAdd-nya (bukan membuka 
>> sebuah file Excel, tetapi membuka aplikasi Excel). Maka event workbook yang 
>> ada di dalam siAdd dijalankan. Ingat, belum ada workbook apapun yang dibuka.
>> 
>> Kemudian si user membuka file bernama rahasia.xlsx melalui menu File Open. 
>> Karena .xlsx, maka tidak ada event workbook open di rahasia.xlsx. Ketika si 
>> rahasia.xsx selesai dibuka, tidak terjadi apa-apa. Event workbook open nya 
>> siAdd tidak bekerja sama sekali karena event itu milik siAdd dan tidak 
>> mungkin dipanggil oleh workbook apapun.
>> 
>> Karena si user sudah puyeng, ditutup semua workbook yang terbuka. Excel-nya 
>> juga ditutup. Lalu ditinggal pulang.
>> 
>> Besoknya, si user datang lagi. Kali ini si user langsung ke windows explorer 
>> dan double click file rahasia.xlsx untuk membuka si rahasia.xlsx.
>> Begitu file rahasia selesai di-double click di windows explorer, muncul 
>> flashscreen nya si Excel. Terus si Excel belok (gak mau mendekati si 
>> rahasia.xlsx yag di double click). Excel ke tempatnya siAdd dulu. Begitu 
>> pintu rumah siAdd dibuka, event workbook open si Add langsung bekerja. 
>> Akhirnya si Excel dan siAdd duduk bareng nungguin art-nya siAdd bikin kupi. 
>> 
>> Lalu si Excel dan siAdd ngupi-ngupi bareng sambil ketawa-ketiwi 
>> terbahak-bahak seakan-akan gak pernah punya dosa.
>> 
>> Setelah si Excel dengan siAdd selesai ngupi-ngupi, barulah si Excel ke halte 
>> dekat windows explorer untuk jemput si rahasia.xlsx. Akhirnya si 
>> rahasia.xlsx jadi naik panggung. Si user yang dah sedari tadi nungguin si 
>> rahasia.xlsx naik panggung akhirnya bisa bernapas lega, karena hari itu si 
>> user bisa merasakan puyeng kembali.
>> 
>> Jadinya, kesan bahwa si workbook event siAdd bekerja saat ada workbook lain 
>> (seperti rahasia.xlsx yang dibuka) itu adalah prasangka yang terlalu baik 
>> kepada Excel. Sampai-sampai Excel saja sungkan karena sudah disangkakan 
>> sebaik itu, yang nyatanya tidak demikian (lah wong malah cuman ngupi-ngupi 
>> bareng siAdd). Sampai-sampai si Excel heran... kok ya bisa ada yang 
>> menyangkakan sebaik itu.
>> 
>> 
>> Coba deh diturut lagi kisah di atas... Yang aktif bekerja itu siExcel. SiAdd 
>> cuman nungguin doink lalu ngajak ngupi-ngupi....
>> siAdd adalah temen yang kurang baik. Akhirnya siAdd kena gusur dan masuk 
>> recyclebin.
>> 
>> 
>> Si Excel merasa kesepian dan mungkin juga dia lelah karena harus terus 
>> bekerja tanpa ada kesempatan ngupi-ngupi lagi.
>> 
>> Suatu hari, si Excel dikenalin sama siiin.
>> Berhubung sudah hari senen, si user kembali ke windows Explorer dan double 
>> click rahasia.xlsx. Flashscreen Excel tampil, dan si Excel pun tetep ogah 
>> nyamperin si rahasia.xlsx. Kali ini Excel belok ke rumahnya siiin. Begitu 
>> pintu rumah siiin diketok, workbook open siiin bekerja. Langsung deh si 
>> Excel disapa dengan suara merdu siiin..."eh mas Excel... pagi-pagi dah 
>> mampir kesini. Gak kerja mas ?"
>> Excel yang mantan karyawan ngeles.com langsung pasang jurus.... "Anu dek 
>> in... Baru mau berangkat kerja tapi lupa gak bawa bekel."
>> Siiin langsung masuk ke dapur, ambil rantang dan diisi masakan enak. Balik 
>> ke depan (Excel masih belum masuk ruang tamu loh) dan dikasihkan tuh rantang 
>> isi masakan. "Nih mas, saya bawain bekel. Kerja yang penuh cemungud ya..."
>> Wuuiiih... Excel langsung ngibrit enuh semangat ke tempat si rahasia.xlsx 
>> sambil nunjukin tuh rantang bekel dari siiin... Sepanjang jalan dari halte 
>> pinggir windows explorer sampai panggungnya si rahasia.xlsx, si Excel cerita 
>> tentang rantang siiin.
>> 
>> Sampe-sampe, begitu si user membuka workbook lain yang namanya laporan.xlsm, 
>> si Excel langsung dateng ketempatnya si laporan.xlsm dan ngetok rumah si 
>> laporan.xlsm. Begitu si laporan.xlsm membuka pintu, si Excel dah ngebet mo 
>> nyeritain rantang siiin, tapi si laporan masih harus siap-siap dulu, jadi si 
>> Excel harus bersabar. Begitu si laporan dah selesai siap-siap, si Excel 
>> langsung nyerocos nyeritain rantang siiin.
>> 
>> 
>> Nah... Addin tuh seperti siiin, bukan seperti siAdd...
>> SiAdd itu egois, cuma bekerja buat dirinya sendiri. Asal dia hepi, beres dah.
>> Siiin itu tipikal supporter. 
>> 
>> Siiin support Excel supaya rajin bekerja penuh semangat dengan rantangnya.
>> 
>> Jadi, kalau pengen setiap kali ada yang buka workbook, maka langsung ada 
>> yang mengucapkan salam, maka suruh si Excel yang ngucapin salam. Bukan 
>> addin-nya. Addin-nya nyediain rantang yang bikin si Excel ngocehin tuh 
>> rantang terus menerus.
>> 
>> Karena Excel itu aplikasi, berarti rantang dari siiin itu isinya event untuk 
>> aplikasi, bukan event untuk workbook.
>> Kalau mau membuat event untuk aplikasi, yang baik adalah membuat class 
>> module khusus untuk mengelola event milik aplikasi.
>> Coba deh perhatikan...
>> event-event nya workbook dikelola di thisworkbook class module
>> event-event nya worksheet dikelola di masing-masing sheet class module.
>> jadi, event-event nya aplikasi dikelola di sebuah class module khusus untuk 
>> si aplikasi. Class module ini yang dibuat dalam addin (seperti siiin yang 
>> nyiapin rantang).
>> 
>> 
>> ;)
>> 
>> Regards,
>> Kid
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 2016-02-20 18:19 GMT+07:00 Hendrik Karnadi hendrikkarn...@yahoo.com 
>> [belajar-excel] <belajar-excel@yahoogroups.com>:
>>>  
>>> Setiap kali ada yang buka workbook (apa saja) Mr. Kid, tentunya jika 
>>> addinsnya kita kita aktifkan (centang).
>>> 
>>> Kedua prosedur tsb berada dalam satu file AddIns (mis.MacroColl.xla).
>>> 
>>> Terima kasih.
>>> 
>>> Salam,
>>> HK
>>> 
>>> 
>>> Sent from Samsung Mobile
>>> 
>>> 
>>> -------- Original message --------
>>> From: "'Mr. Kid' mr.nm...@gmail.com [belajar-excel]"
>>> Date:20/02/2016 5:14 PM (GMT+07:00)
>>> To: BeExcel
>>> Subject: Re: [belajar-excel] Application.Onkey
>>> 
>>>  
>>> Terus terang, saya ndak mudeng maksudnya...
>>> 
>>> Itu addin nya mau dibuat selalu menampilkan pesan setiap kali ada yang buka 
>>> workbook atau hanya ditampilkan 1 kali saat instansi excel tersebut 
>>> diaktifkan pertama kali ?
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 2016-02-20 11:44 GMT+07:00 Hendrik Karnadi hendrikkarn...@yahoo.com 
>>> [belajar-excel] <belajar-excel@yahoogroups.com>:
>>>>  
>>>> Terima kasih Mr. Kid atas masukannya.
>>>> 
>>>> Ceritanya saya ingin membuat beberapa prosedur dan "memasukkannya" sebagai 
>>>> AddIns untuk membantu teman2 yang kesulitan pake macro.
>>>> 
>>>> Sebagai sample saya ingin mem buat dua prodedur:
>>>> 1. Menggunakan event Workbook_Open untuk mengucapkan salam...
>>>> Private Sub Workbook Open ()
>>>> MsgBox "Hello" & VbCrLf & _
>>>> "How are  you today?", 64, "GREETINGS"
>>>> Suara
>>>> 
>>>> 2. Saya tulis prosedur Suara di Module1...(untuk mengeluarkan suara yang 
>>>> ditulis pada sel aktif file yang dibuka)
>>>> Sub Suara()
>>>> Application.ActiveCell.Speak
>>>> End Sub
>>>> 
>>>> Saya punya satu file bernama "Contoh" yang di sel aktifnya ada 
>>>> tulisan.."Hello, how are you today?".
>>>> 
>>>> Inginnya, pada saat file Contoh dibuka keluar msgbox butir1 (sdh ok) dan 
>>>> pada saat User menekan tombol "OK" keluar suara "Hello, how are you today" 
>>>> (error).
>>>> 
>>>> Yang terjadi (ketika User membuka file Contoh dan menekan tombol "Ok"), 
>>>> keluar message
>>>> Run time error 91:
>>>> Object Variable or With block variable not set
>>>> (Warna kuning ada pada prosedur Suara).
>>>> 
>>>> Namun jika prosedur Suara saya jalankan tersendiri pada saat file Contoh 
>>>> sdh tampak (terbuka) dan sel pointer berada pada sel aktif maka akan 
>>>> keluar suara
>>>> "Hello, how are you today".
>>>> 
>>>> Demikian ceritanya Mr. Kid.
>>>> Mohon petunjuk bagaimana caranya supaya prosedur1 dan 2 bisa ngelink 
>>>> (prosedur 2 langsung dieksekusi pada saat User menekan tombol "OK"
>>>> 
>>>> Terima kasih.
>>>> 
>>>> Salam,
>>>> HK
>>>> 
>>>> 
>>>> Sent from Samsung Mobile
>>>> 
>>>> 
>>>> -------- Original message --------
>>>> From: "'Mr. Kid' mr.nm...@gmail.com [belajar-excel]"
>>>> Date:20/02/2016 7:07 AM (GMT+07:00)
>>>> To: BeExcel
>>>> Subject: Re: [belajar-excel] Application.Onkey
>>>> 
>>>>  
>>>> Pak HK,
>>>> 
>>>> Begini :
>>>> 1. Workbook X menjalankan prosedur TANPA input parameter di workbook X
>>>>          Application.OnKey "keynya disini" , 
>>>> "nama_prosedur_di_workbook_yang_sama"
>>>> 2. Workbook X menjalankan prosedur DENGAN input parameter di workbook X
>>>>         (
>>>>             misal prosedur yang dijalankan memiiki 2 input parameter, 
>>>>                  parameter 1 meminta nilai bertipe text atau datetime
>>>>                  parameter 2 meminta nilai bertipe numerik atau boolean
>>>>         )
>>>>          Application.OnKey "keynya disini" , 
>>>> "'nama_prosedur_di_workbook_yang_sama ""Param1"" , Param2'"
>>>>     >> param1 adalah nilai text atau datetime yang ditulis sebagai text 
>>>> berformat YYYY-MM-DD
>>>>     >> param2 adalah nilai numerik atau boolean
>>>> 
>>>> 3. Workbook X menjalankan prosedur TANPA input parameter di workbook A 
>>>> yang terbuka di instansi Excel yang sama
>>>>      *** kalau terbuka di instansi Excel yang berbeda, maka tidak mungkin 
>>>> dilakukan
>>>>          Application.OnKey "keynya disini" , "'nama 
>>>> workbook.ekstensinya'!nama_prosedur_di_workbook_A"
>>>> 
>>>> 4. Workbook X menjalankan prosedur DENGAN input parameter di workbook A 
>>>> yang terbuka di instansi Excel yang sama
>>>>      *** kalau terbuka di instansi Excel yang berbeda, maka tidak mungkin 
>>>> dilakukan
>>>>          Application.OnKey "keynya disini" , "'nama 
>>>> workbook.ekstensinya'!'nama_prosedur_di_workbook_A ""Param1"" , Param2'"
>>>> 
>>>> Untuk nomor 3 dan 4, jika workbook A belum terbuka, penulisan workbooknya 
>>>> harus lengkap (file fullname alias ada path-nya).
>>>> 
>>>> 
>>>> Regards,
>>>> Kid
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 2016-02-19 18:00 GMT+07:00 hendrik karnadi hendrikkarn...@yahoo.com 
>>>> [belajar-excel] <belajar-excel@yahoogroups.com>:
>>>>>  
>>>>> Dear Be-Exceler,
>>>>> Saya sedang mencoba menggunakan VBA...."Application.OnKey" yang menurut 
>>>>> panduan penulisannya adalah sbb :
>>>>> Application.OnKey(Key As String,[Procedur])
>>>>> 
>>>>> Saya ingin menjalankan Prosedur bernama Coba yang ada di Workbook lain 
>>>>> (bersifat public)  setelah menekan tombol Enter.
>>>>> Saya tulis seperti ini:
>>>>> Application.OnKey "{Enter}", "{Coba}"
>>>>> 
>>>>> Namun prosedur Coba tidak dijalankan...
>>>>> 
>>>>> Pertanyaan saya:
>>>>> Bagaimana penulisannya agar prosedur Coba bisa dijalankan ?
>>>>> 
>>>>> Terima kasih.
>>>>> 
>>>>> Salam,
>>>>> HK
>>> 
>> 
> 
> 
  • [belajar-excel] A... hendrik karnadi hendrikkarn...@yahoo.com [belajar-excel]
    • Re: [belajar... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]
      • Re: [bel... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]

Kirim email ke