Η ενσωμάτωσή του στα Windows επιτρέπει τον έλεγχο του Internet Explorer με έναν αριθμό από εκπληκτικούς τρόπους χρησιμοποιώντας τη δέσμη ενεργειών Visual Basic for Applications (VBA) από οποιαδήποτε εφαρμογή που υποστηρίζει, όπως το Word, το Outlook ή το Excel.
Η αυτοματοποίηση VBA - ειδικά η άμεση αυτοματοποίηση ενός προγράμματος περιήγησης όπως το IE, όπως θα δείτε σε αυτό το άρθρο - είναι ακριβώς αυτό που αναδεικνύει το VBA από ένα βολικό σενάριο προγραμματισμού σε μια ισχυρή γλώσσα αυτοματισμού. Αυτό που το κάνει τόσο τρομερό είναι το γεγονός ότι πολλές εφαρμογές με στοιχεία ελέγχου ή αντικείμενα δημιουργούνται απλώς για να σας επιτρέψουν να ενσωματώσετε σε αυτό χρησιμοποιώντας τη γλώσσα προγραμματισμού VBA.
Μέσα από τα χρόνια, σας δείξαμε πώς να κάνετε κάποια πραγματικά δροσερά πράγματα με τη VBA. Για παράδειγμα, μπορείτε να το χρησιμοποιήσετε για την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου απευθείας από το Excel Πώς να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου από ένα υπολογιστικό φύλλο Excel Χρησιμοποιώντας δέσμες ενεργειών VBA Πώς να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου από ένα υπολογιστικό φύλλο Excel Χρησιμοποιώντας δέσμες ενεργειών VBA Θα σας δείξουμε πώς να ρυθμίσετε τα αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου από το Excel χρησιμοποιώντας αντικείμενα δεδομένων συνεργασίας (CDO) και δέσμες ενεργειών VBA. Τα πρότυπα κωδικών μας κάνουν αυτό πολύ πιο εύκολο από ό, τι ακούγεται! Διαβάστε περισσότερα, μπορείτε να εξαγάγετε αυτόματα τις εργασίες του Outlook σε ένα υπολογιστικό φύλλο Excel Πώς να εξαγάγετε τις εργασίες σας στο Outlook στο Excel Με το VBA Πώς να εξαγάγετε τις εργασίες σας στο Outlook στο Excel Με το VBA Είτε είστε fan της Microsoft είτε όχι, ένα καλό πράγμα που μπορεί να ειπωθεί σχετικά με τα προϊόντα του MS Office, τουλάχιστον, είναι πόσο εύκολο είναι να ενσωματώσετε το καθένα από αυτά μεταξύ τους .... Διαβάστε περισσότερα, και μπορείτε ακόμη και να σχεδιάσετε το δικό σας πρόγραμμα περιήγησης στο Internet Πώς να κάνετε το δικό σας βασικό πρόγραμμα περιήγησης Internet χρησιμοποιώντας VBA Πώς να κάνετε Το δικό σας βασικό πρόγραμμα περιήγησης στο Internet χρησιμοποιώντας το VBA Όταν πραγματικά σταματήσετε να το σκεφτείτε, ένα πρόγραμμα περιήγησης στο Internet στην απλούστερη μορφή του δεν είναι πραγματικά τόσο εντυπωσιακή μια εφαρμογή. Θέλω να πω, ναι, το Internet είναι καταπληκτικό από τα πρότυπα κανενός. Η έννοια της σύνδεσης ... Διαβάστε περισσότερα! Δεν είναι μόνο προϊόντα της Microsoft. Υπάρχουν εφαρμογές τρίτων κατασκευαστών από όλα τα είδη προμηθευτών που έχουν ενσωματώσει το VBA και συμβατά αντικείμενα στο λογισμικό τους - από το Adobe Acrobat SDK στο ObjectARX SDK για το AutoCAD - υπάρχουν τρόποι να "συνδέσετε" περισσότερες εφαρμογές από ό, τι ίσως αντιληφθείτε.
Η ιδέα
Σε αυτήν την περίπτωση, πρόκειται να συνδέσετε το Excel με τον IE. Γιατί IE; Επειδή ο Internet Explorer είναι τόσο καλά ενσωματωμένος στο λειτουργικό σύστημα που πραγματικά δεν χρειάζεται να κάνετε πολλά για να αρχίσετε να χρησιμοποιείτε τον αυτοματισμό IE στο VBA σε άλλα προϊόντα της Microsoft όπως το Word ή το Excel. Αυτή είναι η ομορφιά του in. Σε αυτό το άρθρο θα δείτε πώς αυτή η αυτοματοποίηση λειτουργεί, και σε ένα μελλοντικό άρθρο θα δείτε πώς να κάνετε σχεδόν το ίδιο πράγμα με άλλα προγράμματα περιήγησης.
Αυτό που πρόκειται να σας δείξω εδώ είναι μια φαινομενικά απλή εφαρμογή, αλλά έχει πολλές εφαρμογές όπου θα μπορούσατε να χρησιμοποιήσετε αυτόν τον κώδικα για να κάνετε διάφορα δροσερά πράγματα με το πρόγραμμα περιήγησής σας. Η κατώτατη γραμμή είναι ότι πρόκειται να δημιουργήσετε ένα υπολογιστικό φύλλο Excel για να αποθηκεύσετε γρήγορα όλα τα ανοιχτά παράθυρα του προγράμματος περιήγησής σας με ένα πάτημα ενός κουμπιού. Μπορείτε να αποθηκεύσετε αυτό το υπολογιστικό φύλλο και να περπατήσετε ή να απενεργοποιήσετε τον υπολογιστή σας.
Επιστρέψτε μία ώρα ή τρεις μέρες αργότερα, ανοίξτε το υπολογιστικό φύλλο, κάντε κλικ σε ένα άλλο κουμπί και οι αποθηκευμένες διευθύνσεις URL θα ανοίξουν ξανά στον ίδιο αριθμό καρτελών όπως προηγουμένως. Η προφανής δροσερή χρήση αυτού του είδους θα ήταν να αποθηκεύσετε μια ολόκληρη βιβλιοθήκη κοινών διαδικτυακών εγκαταστάσεων στο Excel. Στη συνέχεια, μπορείτε να επαναφέρετε αυτόν τον χώρο εργασίας με ένα πάτημα ενός κουμπιού χωρίς να χρειάζεται να βρείτε ξανά όλες αυτές τις διευθύνσεις URL.
Αυτοματοποίηση του Internet Explorer Με VBA
Το πρώτο πράγμα που πρέπει να κάνετε είναι να ανοίξετε το Excel (χρησιμοποιώ το 2013 - άλλες εκδόσεις είναι παρόμοιες όταν πρόκειται για προγραμματισμό VBA) και μεταβείτε στο στοιχείο του μενού του Προγραμματιστή. Μέσα εκεί, θα δείτε ένα κουμπί εισαγωγής, το οποίο πέφτει κάτω από όλα τα χειριστήρια σας. Επιλέξτε το κουμπί ελέγχου ActiveX και τοποθετήστε το στο υπολογιστικό φύλλο.
Προφανώς, έχετε ήδη δημιουργήσει μια κεφαλίδα για τις διευθύνσεις URL, αν θέλετε, αλλά δεν χρειάζεται να. Αυτή είναι πραγματικά μια βιβλιοθήκη αποθήκευσης URL, έτσι οι κεφαλίδες δεν έχουν σημασία. Αφού προσθέσετε το κουμπί, κάντε διπλό κλικ πάνω του για να ανοίξετε τον επεξεργαστή VBA. Στο κάτω αριστερό μέρος, θα δείτε τις ιδιότητες για το νέο κουμπί.
Μετονομάστε το σε κάτι όπως το cmdSaveURLs και ορίστε τη λεζάντα για "Αποθήκευση διευθύνσεων URL" - υποδεικνύοντας ότι αυτό είναι το κουμπί για να αποθηκεύσετε όλες τις ανοιχτές διευθύνσεις URL από το πρόγραμμα περιήγησης IE.
Στη συνέχεια, μεταβείτε στο μενού Εργαλεία στο επάνω μέρος του επεξεργαστή VBA, κάντε κλικ στην επιλογή Αναφορές στο μενού και κάντε κύλιση προς τα κάτω στη μακρά λίστα για να βρείτε την αναφορά "Microsoft Internet Controls". Κάντε κλικ στο πλαίσιο ελέγχου στα αριστερά του και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
Τώρα είστε έτοιμοι να κυλήσετε. Στην περιοχή κειμένου του προγράμματος επεξεργασίας, θα πρέπει να δείτε μια γραμμή που διαβάζει "Private Sub cmdSaveURLs_Click ()". Εάν δεν το βλέπετε, κάντε κλικ στο αριστερό αναπτυσσόμενο πλαίσιο πάνω από την περιοχή κειμένου και βρείτε cmdSaveURLs στη λίστα. Επιλέξτε το και θα δημιουργήσει τη λειτουργία Click () για εσάς.
Αυτός είναι ο κώδικας που θέλετε να εισαγάγετε σε αυτή τη λειτουργία:
IM IE ως αντικείμενου Dim shellWins ως Νέο ShellWindows Dim IE_TabURL ως String Dim intRowPosition ως ακέραιο intRowPosition = 2 Για κάθε IE Στο κελύφουςWins IE_TabURL = IE.LocationURL Αν IE_TabURL vbNullString Στη συνέχεια Sheet1.Range ("A" & intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 Τέλος Αν Επόμενο Σετ shellWins = Τίποτα Ορισμός IE = Τίποτα
Η αναφορά Microsoft Scripting Runtime καθιστά την πρόσβαση στο αντικείμενο ShellWindows, το οποίο σας επιτρέπει να επαναλάβετε τα Windows και να εντοπίσετε τις παρουσίες του IE που έχετε ανοίξει. Αυτή η δέσμη ενεργειών θα εντοπίσει κάθε διεύθυνση URL που έχετε ανοίξει και θα την γράψετε στο υπολογιστικό φύλλο του Excel.
Έτσι, θεωρητικά αν εργάζεστε σε κάτι σαν blogging και έχετε μερικά ανοιχτά στοιχεία, όπως τα παράθυρα έρευνας, ο επεξεργαστής ιστολογίου σας ή ένα παράθυρο ημερολογίου - όλες αυτές οι καρτέλες θα είναι ενεργές. Εάν πρέπει να τερματίσετε ή να αφήσετε σε βιασύνη, μπορεί να είναι ένας πραγματικός πόνος για να αποθηκεύσετε όπου βρίσκεστε αντιγράφοντας όλες αυτές τις διευθύνσεις URL.
Με τη νέα σας δέσμη ενεργειών Excel, κάντε κλικ στο κουμπί Φόρτωση διευθύνσεων URL και θα το φορτώσετε απευθείας στο υπολογιστικό φύλλο.
Μια προειδοποίηση. Εάν δεν χρησιμοποιείτε μια γραμμή κεφαλίδας, τότε θα θέλετε να αλλάξετε τη γραμμή "intRowPosition = 2" σε "intRowPosition = 1" και αυτό θα ξεκινήσει από την πρώτη γραμμή αντί να παρακάμπτεται η γραμμή κεφαλίδας.
Άνοιγμα του αποθηκευμένου χώρου εργασίας του προγράμματος περιήγησης
Το επόμενο στάδιο αυτού του έργου είναι να προχωρήσουμε προς την άλλη κατεύθυνση. Κάντε κλικ στο κουμπί "Φόρτωση διευθύνσεων URL" και εκκινήστε το IE στο Excel και επαναλάβετε τη φόρτωση όλων των διευθύνσεων URL που έχετε αποθηκεύσει στο υπολογιστικό φύλλο. Εδώ πρέπει να μοιάζει η συνάρτηση cmdLoadURLs_Click ().
(IE.Visible) = True IE.Navigate Sheet1.Range ("A" & intRowPosition) Παρότι η εντολή "IE.Visible = True IE.Navigate Sheet1.Range (" A "& intRowPosition) IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1 Ενώ το Sheet1.Range ("A" & intRowPosition) vbNullString IE.Navigate Sheet1.Range ("A" & intRowPosition), CLng (2048) Ενώ IE.Busy DoEvents Wend intRowPosition = 1 Wend Set IE = Τίποτα
Υπάρχουν μερικά βήματα εδώ, αλλά όπως βλέπετε ο κώδικας δεν είναι τόσο μακρύς ή περίπλοκος. Δημιουργείτε μια νέα εμφάνιση του IE, το καθιστά ορατό (αυτό θα ανοίξει το IE χωρίς να φορτώσει μια διεύθυνση URL). Στη συνέχεια θα φορτώσει την πρώτη διεύθυνση URL στη λίστα.
Το τμήμα "Ενώ το IE.Busy" του σεναρίου περιμένει μέχρι να φορτωθεί πλήρως η σελίδα και, στη συνέχεια, μεταβείτε στις υπόλοιπες διευθύνσεις URL στο υπολογιστικό φύλλο, ανοίγοντας μια νέα καρτέλα (αυτό κάνει το "CLng (2048)" πληκτρολογεί ένα κενό κελί στο υπολογιστικό φύλλο σας, τότε θα σταματήσει να ανοίγει νέες καρτέλες.Αυτό είναι το πρόγραμμα περιήγησης IE με τις τέσσερις αρχικές καρτέλες που ανακτώνται χρησιμοποιώντας το σενάριο αυτοματοποίησης Excel IE.
Περίληψη
Ο πραγματικός μου στόχος ήταν να δημιουργήσω μεμονωμένα υπολογιστικά φύλλα συλλογές καρτελών για εργασίες όπως η έρευνα και η γραφή στο δικό μου blog, η συγγραφή στο MakeUseOf, η εκτέλεση έργων SEO στο site ή ένας ολόκληρος κατάλογος άλλων ρόλων ή έργων που απαιτούν μια αποθηκευμένη συλλογή καρτελών που χρησιμοποιούνται πάντα.
Χρησιμοποιώντας ένα υπολογιστικό φύλλο για την αποθήκευση αυτών των ρυθμίσεων και την αυτοματοποίηση του ανοίγματος σε ένα πρόγραμμα περιήγησης, μπορείτε να εξοικονομήσετε πολύ χρόνο ... και είναι επίσης πολύ δροσερό.
Χρησιμοποιείτε οποιοδήποτε είδος αυτοματισμού IE στις εφαρμογές σας VBA; Δείτε άλλες χρήσιμες χρήσεις για αυτό το είδος ελέγχου IE από το Excel; Μοιραστείτε τις σκέψεις και τα σχόλιά σας στην παρακάτω ενότητα σχολίων!