
Edmund Richardson
0
3073
529
Windows ile entegrasyonu, Internet Explorer'ın Word, Outlook veya Excel gibi herhangi bir uygulamadan destekleyen Visual Basic for Applications (VBA) komut dosyası kullanılarak birçok şaşırtıcı şekilde kontrol edilmesini sağlar.
VBA otomasyonu - özellikle IE gibi bir tarayıcıyı doğrudan bu makalede göreceğiniz gibi otomatikleştirmek - VBA'yı uygun bir programlama betiğinden güçlü bir otomasyon diline yükselten bir şey. Bu kadar harika kılan şey, VBA programlama dilini kullanarak bütünleşmenize izin vermek amacıyla kontroller veya nesnelerle birçok uygulamanın oluşturulmasıdır..
Yıllar boyunca VBA ile gerçekten harika şeyler yapmayı gösterdik. Örneğin, doğrudan Excel'in içinden e-posta göndermek için kullanabilirsiniz. VBA Komutlarını Kullanarak Bir Excel Elektronik Tablodan E-posta Gönderme VBA Komutlarını Kullanarak Bir Excel Elektronik Tablodan E-posta Gönderme VBA Komutlarını Kullanarak E-posta Gönderme İşbirliği Veri Nesneleri (CDO) ve VBA komut dosyaları. , Outlook görevlerini otomatik olarak bir Excel elektronik tablosuna verebilirsiniz Outlook Görevlerinizi VBA ile Excel'e Vermek Nasıl Outlook Görevlerinizi VBA ile Excel'e Vermek Nasıl Microsoft hayranı olun, MS hakkında söylenebilecek iyi bir şey olsun Office ürünleri, en azından her birini birbirleriyle entegre etmenin ne kadar kolay olduğunu… ve hatta kendi İnternet tarayıcınızı bile tasarlayabilirsiniz VBA Kullanarak Kendi Temel İnternet Tarayıcınızı Nasıl Yapabilirsiniz VBA Kullanarak Kendi Temel İnternet Tarayıcınızı Nasıl Yapabilirsiniz Gerçekten düşünmeyi bıraktığınızda, en basit haliyle bir İnternet tarayıcısı bu kadar etkileyici bir uygulama değildir. Yani, evet, İnternet herkesin standartlarına göre şaşırtıcı. Bağlama kavramı…! Sadece Microsoft ürünleri de değil. VBA ve uyumlu nesneleri kendi yazılımlarına entegre eden her türden üreticiden üçüncü taraf uygulamalar vardır - Adobe Acrobat SDK'dan AutoCAD için ObjectARX SDK'ya - bunun için yollar “takmak” Muhtemelen düşündüğünüzden daha fazla uygulama.
Fikir
Bu durumda, Excel’i IE’ye bağlayacaksınız. Neden IE Internet Explorer işletim sistemi ile çok iyi bir şekilde entegre olduğundan, VBA'da IE otomasyonunu Word veya Excel gibi diğer Microsoft ürünlerinde kullanmaya başlamak için fazla bir şey yapmanıza gerek kalmayacak. Bu içeriğin güzelliği. Bu makalede, bu otomasyonun nasıl çalıştığını ve gelecekteki bir makalede diğer tarayıcılarda neredeyse aynı şeyi nasıl yapacağınızı göreceksiniz..
Size burada 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 kaydedebilir ve uzaklaşabilir veya bilgisayarınızı kapatabilirsiniz..
Bir ya da üç gün sonra tekrar gelin, e-tabloyu açın, başka bir düğmeyi tıklayın; kaydedilen bu URL'ler daha önce olduğu gibi aynı sayıda sekmede yeniden açılacaktır. Bunun açık bir şekilde kullanılması, ortak bir çevrimiçi çalışma alanı kurulum kütüphanesinin tümünün Excel'de depolanmasıdır. Ardından, bu URL’lerin tümünü tekrar bulmak zorunda kalmadan bir düğmeye bir kez tıklayarak bu çalışma alanını geri yükleyebilirsiniz..
VBA ile Internet Explorer'ı Otomatikleştirme
Yapılacak ilk şey Excel'i açmaktır (2013 kullanıyorum - diğer sürümler VBA programlaması konusunda benzer) ve Geliştirici menü öğesine gidin. İçeride, tüm kontrollerinizi bırakan bir ekleme butonu göreceksiniz. ActiveX buton kontrolünü seçin ve elektronik tablonuza yerleştirin.
Muhtemelen, isterseniz, URL'ler için zaten bir başlık oluşturdunuz, ancak yapmak zorunda değilsiniz. Bu gerçekten bir URL depolama kütüphanesidir, bu yüzden başlıklar önemli değil. Düğmeyi ekledikten sonra, VBA düzenleyicisini açmak için üzerine çift tıklayın. Sol altta, yeni butonunuzun özelliklerini göreceksiniz.
CmdSaveURLs gibi bir adla yeniden adlandırın ve Resim Yazısını “URL’leri kaydet” - bunun tüm açık URL’leri IE tarayıcınızdan kaydetme düğmesi olduğunu belirtir..
Sonra, VBA editörünün en üstündeki Araçlar menüsüne gidin, menüdeki Referanslar seçeneğine tıklayın ve listeyi bulmak için uzun listeyi aşağı kaydırın. “Microsoft İnternet Kontrolleri” referans. Solundaki onay kutusunu tıklayın ve ardından Tamam'ı tıklayın..
Şimdi yuvarlanmaya hazırsın. Editör metin alanında, okuyan bir satır görmelisiniz “Özel Alt cmdSaveURLs_Click ()”. Görmüyorsanız, metin alanının üstündeki sol açılır kutuyu tıklayın ve listede cmdSaveURL'leri bulun. Seçin ve sizin için Click () işlevini oluşturacaktır..
Bu fonksiyona eklemek istediğiniz kod:
im IE Nesne Dim olarak shellWins Yeni ShellWindows Dim Olarak IE_TabURL Dize Olarak Dim int intRowPosition Tamsayı Olarak intRowPosition = 2 Her IE için shellWins'te IE_TabURL = IE.LocationURL IEJabURL vbNullString Sonra = IE.abange ("A" & intRowPURP = = intRowPUR + = intRowPUR + = intRowPUR +) 1 Sonrası Sonra Sonda set shellWins = Hiçbir Set IE = = Hiçbir Şey
Microsoft Komut Dosyası Çalıştırma Zamanı başvurusu, Windows'ta yineleme yapmanıza ve açmış olduğunuz IE örneklerini bulmanıza olanak sağlayan ShellWindows nesnesine erişebilmenizi sağlar. Bu komut dosyası açtığınız her URL'yi bulacak ve bunu Excel elektronik tablosuna yazacaktır..
Dolayısıyla, teoride bloglama gibi bir şey üzerinde çalışıyorsanız ve araştırma pencereleri, blog editörünüz veya bir takvim penceresi gibi birkaç öğeniz açıksa, bu sekmelerin tümü etkin olacaktır. Kapatmanız veya acele etmeniz gerekiyorsa, tüm bu URL’leri kopyalayarak bulunduğunuz yerden tasarruf etmek gerçek bir acı olabilir..
Yeni Excel komut dosyanızla, URL'leri Yükle düğmesini tıklamanız yeterlidir ve doğrudan elektronik tabloya yüklenir.
Bir uyarı. Bir başlık satırı kullanmıyorsanız, satırı değiştirmek isteyeceksiniz “intRowPosition = 2” için “intRowPosition = 1” ve bu, başlık satırını atlamak yerine ilk satırda başlayacaktır..
Kayıtlı Tarayıcı Çalışma Alanınızı Açma
Bu projenin bir sonraki aşaması diğer yöne gitmektir. Tıkla “URL’leri yükle” Excel’in IE’yi başlatmasını ve e-tabloya kaydettiğiniz tüm URL’leri yeniden yüklemesini sağlayın. İşte cmdLoadURLs_Click () işlevi neye benzemeli.
Dim IE Nesne Olarak Dim shellWins Yeni ShellWindows Hakkında Dim IE_TabURL Dize Olarak Dim Dim intRowPosition Tam Sayı Olarak intRowPosition = 2 Set IE = CreateObject ("InternetExplorer.Application") IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1 Sheet1.Range ("A" ve intRowPosition) vbNullString IE.Navigate Sheet1.Range ("A" ve intRowPosition) vbNullString IE.Navigate Sheet1.Range ("A" ve intRowPosition), CLng (2048) 1 Wend Set IE = Hiçbir şey
Burada birkaç adım var, ancak gördüğünüz gibi kod o kadar da uzun ya da karmaşık değil. Yeni bir IE örneği oluşturup görünür hale getirin (bu, IE'yi bir URL yüklemeden açacaktır). Sonra listedeki ilk URL'yi yükler.
“IE.Busy iken” komut dosyasının bir kısmı sayfa tamamen yüklenene kadar bekler ve ardından e-tablonuzdaki diğer URL’lere geçerek yeni bir sekme açarak (işte bu “CLng (2048)” yapar, e-tablonuzdaki boş bir hücreye değinceye kadar, yeni sekmeler açmayı durduracaktır. İşte benim IE tarayıcım, Excel IE otomasyon betiği kullanılarak kurtarılan dört orijinal sekmenin tümü ile birlikte.
özet
Bunu yapmamdaki asıl amacım, bireysel e-tabloların kendi blogumda araştırma ve yazma, MakeUseOf'a yazma, sitede SEO proje çalışması yapma ya da gereken diğer rollerin veya projelerin bir listesini yapma gibi görevler için sekme koleksiyonları oluşturmasıydı. her zaman kullanılan kaydedilmiş bir sekme koleksiyonu.
Bu ayarları saklamak için bir elektronik tablo kullanmak ve bunları bir tarayıcıda otomatik olarak açmak çok zaman kazandırabilir….
VBA uygulamalarınızda herhangi bir IE otomasyonu kullanıyor musunuz? Bu tür IE kontrolleri için Excel'den başka hoş kullanımları gördünüz mü? Düşüncelerinizi ve görüşlerinizi aşağıdaki yorumlar bölümünde paylaşın!