3 Messages
Digest #4618
Messages
Sun Oct 7, 2018 1:23 am (PDT) . Posted by:
rafael_ari
Assalamualaikum para master dan teman-teman sekalian, saya mau bertanya mengenai cara otomatis duplikat atau copy paste tabel dengan macro, untuk lebih jelas file sudah saya lampirkan
Sun Oct 7, 2018 5:54 am (PDT) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Wa'alaikumussalam wr wb
Harus pakai VBA ya ?
Baiklah.
File terlampir.
Wassalamu'alaikum wr wb
Kid
On Sun, Oct 7, 2018 at 3:24 PM rafael_ari@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com> wrote:
>
>
> Assalamualaikum para master dan teman-teman sekalian, saya mau bertanya
> mengenai cara otomatis duplikat atau copy paste tabel dengan macro, untuk
> lebih jelas file sudah saya lampirkan
>
>
Harus pakai VBA ya ?
Baiklah.
File terlampir.
Wassalamu'alaikum wr wb
Kid
On Sun, Oct 7, 2018 at 3:24 PM rafael_ari@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com> wrote:
>
>
> Assalamualaikum para master dan teman-teman sekalian, saya mau bertanya
> mengenai cara otomatis duplikat atau copy paste tabel dengan macro, untuk
> lebih jelas file sudah saya lampirkan
>
>
Sun Oct 7, 2018 9:58 pm (PDT) . Posted by:
"Zainul Ulum" zainul_ulum
Rekan Be-Excel,saya membuat coding sederhana di vba-excel untuk otomasi pengisian form di internet explorer dengan menggunakan object library/reference: microsoft interner control.
Salah satu kendalanya adalah untuk memastikan bahwa object/ internet element dalam form di internet explorer adalah siap (ready) untuk diisi dari data yang saya ambil dari spead sheet excel.
Berdasarkan online help yang saya baca, untuk mengecek bahwa object sudah terunduh sempurna adalah dengan menggunakan nilai property readystate. Jika nilai readystate bernilai = 4 , maka object di internet explorer sudah ter-loaded dan siap untuk diisi sedangkan untuk menunggu readystate=4 dilakukan looping sampai didapat nilai property=4 (ready).
Akan tetapi dalam implementasinya, terutama jika internet connectionnya jelek, saat menggunakan looping (do....loop atau while....wend) ternyata object belum siap atau belum ready. Untuk memaksa object menjadi ready, saya menambahkan tambahan waktu tunggu / waktu looping Application.Wait dengan tambahan nilai tunggu 1 detik ( sDelay = Format(TimeValue(sDelay) + TimeValue("00:00:" & Format(i, "00")), "hh:mm:ss")) , sampai object benar-benar siap..
Kelemahan dari penambahan application.wait tersebut adalah proses pengisian form akan lama karena tiap loop ditambahkan waktu. tunggu.
di bawah, contoh code yang telah saya buat dengan tambahan proses delay (application.wat). Mohon bantuan atau masukan dari teman-teman yang pengalaman di "web scrapping"
Wassalam,-zainul
'==========================================================================Private Function SetAttributeWithDelay(objBrowser As InternetExplorer, ByVal sDelay As String, _ ByVal sElemenID As String, ByVal sAttrKey As String, ByVal vValue As Variant) As Boolean Dim oHTMLDoc As HTMLDocument Dim oHTML_Element As Object Dim i As Integer Dim bol As Boolean SetAttributeWithDelay = True i = -1 Do i = i + 1 sDelay = Format(TimeValue(sDelay) + TimeValue("00:00:" & Format(i, "00")), "hh:mm:ss") Do ' Wait till the Browser is loaded Application.Wait (Now + TimeValue(sDelay)) '--->NOTE: dicoba pakai ini berhasil tetapi proses lama Loop Until objBrowser.readyState = 4 'READYSTATE_COMPLETE 'While objBrowser.readyState <> 4 Or objBrowser.Busy: DoEvents: Wend--->note: dicoba pakai ini tidak berhasil Set oHTMLDoc = objBrowser.document On Error Resume Next Set oHTML_Element = oHTMLDoc.getElementById(sElemenID) If Err.Number Then Err.Clear 'Application.Wait (Now + TimeValue(sDelay))'---> note:dicoba pakai ini tidak berhasil 'oHTML_Element = oHTMLDoc.getElementById(sElemenID) End If If i = 10 Then SetAttributeWithDelay = False Exit Function End If Loop Until Not oHTML_Element Is Nothing Call oHTML_Element.setAttribute(sAttrKey, vValue)End Function
Salah satu kendalanya adalah untuk memastikan bahwa object/ internet element dalam form di internet explorer adalah siap (ready) untuk diisi dari data yang saya ambil dari spead sheet excel.
Berdasarkan online help yang saya baca, untuk mengecek bahwa object sudah terunduh sempurna adalah dengan menggunakan nilai property readystate. Jika nilai readystate bernilai = 4 , maka object di internet explorer sudah ter-loaded dan siap untuk diisi sedangkan untuk menunggu readystate=4 dilakukan looping sampai didapat nilai property=4 (ready).
Akan tetapi dalam implementasinya, terutama jika internet connectionnya jelek, saat menggunakan looping (do....loop atau while....wend) ternyata object belum siap atau belum ready. Untuk memaksa object menjadi ready, saya menambahkan tambahan waktu tunggu / waktu looping Application.
Kelemahan dari penambahan application.
di bawah, contoh code yang telah saya buat dengan tambahan proses delay (application.
Wassalam,-zainul
'=======
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------
Tidak ada komentar:
Posting Komentar