İlan

Windows ile entegrasyonu, Internet Explorer'ın birkaç şaşırtıcı şekilde kontrol edilmesini sağlar. Visual Basic for Applications (VBA) komut dosyası, Word, Outlook veya Excel.

VBA otomasyonu - özellikle bu makalede göreceğiniz gibi IE gibi bir tarayıcıyı doğrudan otomatikleştirmek - tam olarak VBA'yı uygun bir programlama komut dosyasından güçlü bir otomasyon diline yükselten bir şey. Bu kadar harika kılan şey, kontroller veya nesneler içeren birçok uygulamanın, VBA programlama dilini kullanarak entegre olmanıza izin vermek için yaratılmasıdır.

Yıllar boyunca, VBA ile nasıl gerçekten harika şeyler yapacağınızı gösterdik. Örneğin, aşağıdakileri yapmak için kullanabilirsiniz: e-postaları doğrudan Excel içinden gönder VBA Komut Dosyalarını Kullanarak Excel Elektronik Tablodan E-posta GöndermeKod şablonumuz, İşbirliği Veri Nesneleri (CDO) ve VBA komut dosyalarını kullanarak Excel içinden otomatik e-postalar oluşturmanıza yardımcı olacaktır. Daha fazla oku , otomatik olarak Outlook görevlerini bir Excel e-tablosuna dışa aktarma

instagram viewer
Outlook görevlerinizi VBA ile Excel'e vermeMicrosoft'un bir hayranı olsanız da olmasanız da, en azından MS Office ürünleri hakkında söylenebilecek iyi bir şey, her birini birbiriyle entegre etmenin ne kadar kolay olduğudur ... Daha fazla oku ve hatta kendi internet tarayıcınızı tasarlayın VBA Kullanarak Kendi Temel İnternet Tarayıcınızı Nasıl Yapabilirsiniz?Bunu düşünmeyi gerçekten bıraktığınızda, en basit haliyle bir İnternet tarayıcısı o kadar etkileyici bir uygulama değildir. Yani, evet, İnternet herkesin standartlarına göre inanılmaz. Bağlama kavramı ... Daha fazla oku ! Sadece Microsoft ürünleri de değil. VBA ve uyumlu nesneleri yazılımlarına entegre eden her türlü satıcıdan 3. taraf uygulamaları var - Adobe Acrobat SDK'dan AutoCAD için ObjectARX SDK'ya - muhtemelen sizden daha fazla uygulamaya “bağlanmanın” yolları vardır biliyoruz.

Fikir

Bu durumda, Excel'i IE ile bağlayacaksınız. Neden IE? Internet Explorer işletim sistemine o kadar iyi entegre olduğundan, Word veya Excel gibi diğer Microsoft ürünlerinde VBA'da IE otomasyonunu kullanmaya başlamak için çok fazla bir şey yapmanız gerekmez. İçinde güzelliği bu. Bu makalede, bu otomasyonun nasıl çalıştığını göreceksiniz ve gelecekteki bir makalede, diğer tarayıcılarla neredeyse aynı şeyi nasıl yapacağınızı göreceksiniz.

Burada size göstereceğim şey, görünüşte basit bir uygulamadır, ancak tarayıcınızla çeşitli harika şeyler yapmak için bu kodu kullanabileceğiniz birçok uygulamaya sahiptir. Sonuç olarak, tüm açık tarayıcı pencerelerinizi tek bir tıklamayla hızlı bir şekilde kaydetmek amacıyla bir Excel elektronik tablosu oluşturacaksınız. Bu e-tabloyu kaydedip uzaklaşabilir veya bilgisayarınızı kapatabilirsiniz.

Bir veya üç gün sonra geri dönün, e-tabloyu açın, başka bir düğmeyi tıklayın ve kaydedilen URL'ler daha önce yaptığınız sayıda sekmede yeniden açılacaktır. Bunun bariz bir şekilde kullanımı, yaygın çevrimiçi çalışma alanı kurulumlarının bir kütüphanesini Excel'de saklamak olacaktır. Ardından, bu URL'lerin tümünü tekrar bulmak zorunda kalmadan bir düğmeyi tek bir tıklamayla çalışma alanını geri yükleyebilirsiniz.

VBA ile Internet Explorer'ı Otomatikleştirme

Yapılacak ilk şey Excel'i açmak (2013 kullanıyorum - VBA programlama söz konusu olduğunda diğer sürümler benzer) ve Geliştirici menü öğesine gidin. İçeride, tüm denetimlerinizi bırakan bir ekleme düğmesi göreceksiniz. ActiveX basma düğmesi denetimini seçin ve e-tablonuza yerleştirin.

IE-automation1

Muhtemelen, isterseniz URL'ler için zaten bir başlık oluşturdunuz, ancak zorunda değilsiniz. Bu gerçekten bir URL depolama kitaplığıdır, bu nedenle başlıklar önemli değildir. Düğmeyi ekledikten sonra, VBA düzenleyicisini açmak için çift tıklayın. Sol altta, yeni düğmenizin özelliklerini görürsünüz.

CmdSaveURLs gibi bir adla yeniden adlandırın ve Resim Yazısı'nı "URL'leri Kaydet" olarak ayarlayın - bu, IE tarayıcınızdaki tüm açık URL'leri kaydetmek için düğme olduğunu gösterir.

save-URL'ler

Ardından, VBA düzenleyicisinin üst kısmındaki Araçlar menüsüne gidin, menüdeki Referanslar'ı tıklayın ve “Microsoft Internet Kontrolleri” referansını bulmak için uzun listede aşağı kaydırın. Solundaki onay kutusunu ve ardından Tamam'ı tıklatın.

IE-automation3

Artık yuvarlanmaya hazırsınız. Editör metin alanında, “Private Sub cmdSaveURLs_Click ()” yazan bir satır görmelisiniz. Görmüyorsanız, metin alanının üstündeki sol açılır kutuyu tıklayın ve listede cmdSaveURL'leri bulun. Onu seçin, sizin için Click () işlevini oluşturur.

Bu işleve eklemek istediğiniz kod budur:

im IE Nesne Olarak. ShellWins'i Yeni ShellWindows olarak azalt IE_TabURL As String. Tamsayı Olarak Dim intRowPosition intRowPosition = 2 shellWins'de Her IE için IE_TabURL = IE.LocationURL IE_TabURL ise <> vbNullString Ardından Sheet1.Range ("A" & intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 Sonraki Set ShellWins Varsa = Hiçbir şey. IE ayarla = Hiçbir şey

Microsoft Komut Dosyası Çalıştırma Zamanı başvurusu, Windows üzerinden yineleme yapmanızı ve açtığınız IE örneklerini bulmanızı sağlayan ShellWindows nesnesine erişmenizi sağlar. Bu komut dosyası, açtığınız her URL'yi bulur ve Excel e-tablosuna yazar.

IE-automation4

Teorik olarak, bloglama gibi bir şey üzerinde çalışıyorsanız ve araştırma pencereleri, blog düzenleyiciniz veya bir takvim penceresi gibi açık birkaç öğeniz varsa - bu sekmelerin tümü etkin olacaktır. Kapatmanız veya acele etmeniz gerekiyorsa, tüm bu URL'leri kopyalayarak bulunduğunuz yeri kaydetmek gerçek bir acı olabilir.

IE-automation5

Yeni Excel komut dosyanızla URL'leri Yükle düğmesini tıkladığınızda doğrudan e-tabloya yükleyecektir.

IE-automation6

Bir ihtar. Bir başlık satırı kullanmıyorsanız, “intRowPosition = 2” satırını “intRowPosition = 1” olarak değiştirmek istersiniz ve bu, başlık satırını atlamak yerine ilk satırda başlar.

Kayıtlı Tarayıcı Çalışma Alanınızı Açma

Bu projenin bir sonraki aşaması diğer yöne gitmektir. "URL'leri yükle" yi tıklayın ve Excel'in IE'yi başlatmasını ve e-tabloya kaydettiğiniz tüm URL'leri yeniden yüklemesini sağlayın. CmdLoadURLs_Click () işlevinin nasıl olması gerektiği aşağıda açıklanmıştır.

IE Nesne Olarak Dim. ShellWins'i Yeni ShellWindows olarak azalt IE_TabURL As String. Tamsayı Olarak Dim intRowPosition intRowPosition = 2 Set IE = CreateObject ("InternetExplorer. Uygulama") IE.Visible = Gerçek IE.Navigate Sheet1.Range ("A" & intRowPosition) Sırasında IE.Busy DoEvents. Wend intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString IE.Navigate IE1.Muslu DoEvents Wend intRowPosition = intRowPosition + iken Sheet1.Range ("A" & intRowPosition), CLng (2048) 1. Wend Set IE = Hiçbir şey

Burada birkaç adım var, ancak gördüğünüz gibi kod bu kadar uzun veya karmaşık değil. Yeni bir IE örneği oluşturursunuz, görünür hale getirirsiniz (bu bir URL yüklemeden IE'yi açar). Daha sonra listedeki ilk URL'yi yükleyecektir.

IE-automation8

Komut dosyasının “IE.Busy” kısmı, sayfa tamamen yüklenene kadar bekler ve ardından URL'nizin geri kalanına yeni bir sekme açarak ("CLng (2048)", e-tablonuzdaki boş bir hücreye ulaşıncaya kadar bunu yapar, ardından durur yeni sekmeler açma. Excel IE otomasyon komut dosyası kullanılarak kurtarılan dört orijinal sekmenin tümü ile IE tarayıcım.

IE-automation9

özet

Bunu yapmaktaki asıl amacım, kendi blogumda araştırma yapmak ve yazmak, yazı yazmak gibi görevler için sekme koleksiyonları oluşturmaktı. MakeUseOf'da, sitede SEO projesi çalışması veya her zaman kaydedilen sekmelerden oluşan bir koleksiyon gerektiren diğer rollerin veya projelerin bir listesini yapma Kullanılmış.

Bu kurulumları saklamak için bir e-tablo kullanmak ve bir tarayıcıda açmayı otomatikleştirmek çok zaman kazandırabilir… ve aslında da oldukça havalı.

VBA uygulamalarınızda herhangi bir IE otomasyonu kullanıyor musunuz? Excel'den bu tür IE kontrolü için diğer harika kullanımlarını görüyor musunuz? Düşüncelerinizi ve geri bildirimlerinizi aşağıdaki yorumlar bölümünde paylaşın!

Ryan Elektrik Mühendisliği lisans derecesine sahiptir. 13 yıl otomasyon mühendisliği, 5 yıl BT'de çalıştı ve şu anda bir Uygulama Mühendisi. MakeUseOf'un eski bir Genel Yayın Yönetmeni, Veri Görselleştirme üzerine ulusal konferanslarda konuştu ve ulusal TV ve radyoda yer aldı.