Διαφήμιση
Δεν θα ήταν ωραίο να έχετε τη δυνατότητα να ανοίξετε ένα υπολογιστικό φύλλο Excel ή ένα έγγραφο του Word και χωρίς να χρειάζεται να κάνετε τίποτα στο Όλα, τα δεδομένα διαβάζονται απευθείας από ένα αρχείο κειμένου ή CSV και φορτώνονται απευθείας σε ένα γράφημα ενσωματωμένο στο υπολογιστικό φύλλο ή το Word έγγραφο? Πρόκειται για μια μορφή αυτοματοποίησης που χρησιμοποιεί προϊόντα του Office, γιατί εάν είναι δυνατόν να αυτοματοποιηθεί η χαρτογράφηση δεδομένων στο Office, σκεφτείτε τις δυνατότητες. Μπορείτε να φορτώσετε αυτόματα δεδομένα σε ένα γράφημα για μια αναφορά που συντάσσετε για το αφεντικό σας - δεν απαιτείται καταχώριση δεδομένων. Ή μπορείτε να φορτώσετε δεδομένα σε ένα γράφημα απευθείας σε ένα email στο Outlook.
Η τεχνική για να επιτευχθεί αυτό περιλαμβάνει την εγκατάσταση του πρόσθετου Office Web Components. Επιπλέον, πρέπει απλώς να διαμορφώσετε μερικά πράγματα μέσα στην εφαρμογή Office που θέλετε να χρησιμοποιήσετε για την εισαγωγή των δεδομένων και είστε έτοιμοι να ξεκινήσετε την αυτοματοποίηση της εργασίας αναφοράς σας. Έχω καλύψει μερικά από τα στοιχεία που θα χρησιμοποιήσουμε σε αυτό το άρθρο στο προηγούμενο
Άρθρα VBA Πώς μπορείτε να φτιάξετε τη δική σας απλή εφαρμογή με το VBAΘέλετε να μάθετε πώς να φτιάξετε τη δική σας εφαρμογή VBA για την επίλυση προβλημάτων; Χρησιμοποιήστε αυτές τις συμβουλές για να δημιουργήσετε το δικό σας λογισμικό VBA. Διαβάστε περισσότερα εδώ στο MakeUseOf. Μερικά από αυτά περιελάμβαναν τη διαβίβαση δεδομένων μεταξύ εφαρμογές με το πρόχειρο Διαβιβάστε οποιεσδήποτε πληροφορίες μεταξύ εφαρμογών VBA χρησιμοποιώντας το ΠρόχειροΈνα από τα πιο απογοητευτικά μέρη της εργασίας με το VBA σε συγκεκριμένες εφαρμογές, είναι ότι δεν είναι πάντα εύκολο να έχετε δύο εφαρμογές για να "μιλήσετε" μεταξύ τους. Μπορείτε να δοκιμάσετε πολύ γρήγορες συναλλαγές ... Διαβάστε περισσότερα , εξαγωγή Εργασίες του Outlook στο Excel Τρόπος εξαγωγής των εργασιών του Outlook στο Excel με VBAΕίτε είστε οπαδός της Microsoft είτε όχι, ένα καλό πράγμα που μπορεί να ειπωθεί για τα προϊόντα του MS Office, τουλάχιστον, είναι πόσο εύκολο είναι να συνδυάσετε το ένα με το άλλο ... Διαβάστε περισσότερα και αποστολή Email από ένα Excel Τρόπος αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου από υπολογιστικό φύλλο Excel χρησιμοποιώντας σενάρια VBAΤο πρότυπο κώδικα μας θα σας βοηθήσει να ρυθμίσετε αυτοματοποιημένα μηνύματα ηλεκτρονικού ταχυδρομείου από το Excel χρησιμοποιώντας σενάρια Συνεργασίας Δεδομένων (CDO) και VBA. Διαβάστε περισσότερα γραφή.Αυτό που θα σας δείξω είναι πώς να συνδυάσετε το Office Web Components με το σενάριο αρχείων κειμένου για να δημιουργήσετε ένα απρόσκοπτη, αυτοματοποιημένη ροή δεδομένων από ένα επίπεδο αρχείο κειμένου στον υπολογιστή σας στο προϊόν του Office (στην περίπτωσή μας Υπερτερώ). Μπορείτε να χρησιμοποιήσετε την ίδια τεχνική - με μερικές μικρές τροποποιήσεις - στο Word, το Outlook ή ακόμα και το PowerPoint. Οποιοδήποτε προϊόν του Office (ή οποιοδήποτε άλλο προϊόν για αυτό το θέμα) που έχει ένα back-end VBA για προγραμματιστές, θα σας επιτρέψει να χρησιμοποιήσετε αυτήν την τεχνική.
Εισαγωγή και δημιουργία γραφήματος από αρχεία δεδομένων
Προτού μπορέσετε να δημιουργήσετε ένα γράφημα από αρχεία δεδομένων, θα πρέπει πρώτα να ενεργοποιήσετε μερικά πράγματα. Σε αυτό το παράδειγμα, θα σας δείξω πώς να ενεργοποιήσετε αυτές τις δυνατότητες στο Excel, αλλά η διαδικασία είναι σχεδόν πανομοιότυπη σε κάθε άλλο προϊόν του Office.
Πρώτα, για να μπορέσετε να κάνετε οποιαδήποτε ανάπτυξη VBA, πρέπει να ενεργοποιήσετε την καρτέλα προγραμματιστή στη γραμμή εργαλείων (εάν δεν το έχετε κάνει ήδη). Για να το κάνετε αυτό, απλώς μεταβείτε στο μενού Επιλογές, κάντε κλικ στο "Προσαρμογή κορδέλας" και ενεργοποιήστε την καρτέλα "Προγραμματιστής".
Επιστροφή στο Excle, θα εμφανίζεται πλέον το μενού "Προγραμματιστής" στα μενού. Κάντε κλικ σε αυτό και κάντε κλικ στο "Design Mode". Στη συνέχεια, κάντε κλικ στο "Προβολή κώδικα" για να δείτε το πρόγραμμα επεξεργασίας VBA.
Μέσα στο πρόγραμμα επεξεργασίας βρίσκεται το σημείο όπου θα πρέπει να ενεργοποιήσετε τις αναφορές που θα χρειαστείτε για τον κωδικό που θα σας δώσω στη δουλειά. Βεβαιωθείτε ότι έχετε εγκαταστήσει το πρόσθετο Office Web Components προτού το κάνετε αυτό, διαφορετικά το αντικείμενο του Microsoft Chart δεν θα είναι διαθέσιμο.
Κάντε κλικ στο Εργαλεία και, στη συνέχεια, στις Αναφορές και θα δείτε μια λίστα με όλες τις αναφορές που είναι διαθέσιμες στο σύστημά σας. Εάν δεν γνωρίζετε τι είναι - οι αναφορές είναι βασικά βιβλιοθήκες κώδικα και αντικειμένων που μπορείτε να τραβήξετε στο δικό σας έργο. Αυτά σας επιτρέπουν να κάνετε πραγματικά πολύ ωραία πράγματα, ανάλογα με την αναφορά που ενεργοποιείτε. Εάν μόλις εγκαταστήσατε το Office Web Components στο σύστημά σας, θα πρέπει να το προσθέσετε ως νέα βιβλιοθήκη, οπότε κάντε κλικ στο κουμπί Αναζήτηση για να βρείτε το σωστό αρχείο .dll.
Εάν έχετε εγκαταστήσει Office Web Components, τότε το αρχείο DLL ονομάζεται OWC11.dll και αποθηκεύεται σε c: \ program files \ common files \ microsoft shared \ web components \ 11 \
Κάντε κλικ στο πλαίσιο ελέγχου για την αναφορά "Microsoft Office Web Components 11.0" και επίσης μην ξεχάσετε επιλέξτε επίσης το "Microsoft Scripting Runtime", το οποίο θα σας δώσει πρόσβαση για ανάγνωση ή εγγραφή από δεδομένα αρχεία.
Τώρα που έχετε προσθέσει την αναφορά, ήρθε η ώρα να προσθέσετε το πραγματικό γράφημα στο φύλλο σας. Στο Excel, μπορείτε να προσθέσετε στοιχεία ελέγχου κάνοντας κλικ στο "Εισαγωγή" στο μενού προγραμματιστή και κάνοντας κλικ στο εικονίδιο μικρών εργαλείων στη γωνία στην ενότητα "Στοιχεία ελέγχου ActiveX".
Μεταβείτε στο "Microsoft Office Chart 11.0" και κάντε κλικ στο OK.
Τελικά αρχίζουμε να δουλεύουμε. Δείτε πώς φαίνεται το γράφημα MS Web Component ενσωματωμένο σε ένα υπολογιστικό φύλλο. Θα φαίνεται το ίδιο ενσωματωμένο σε ένα έγγραφο του Word ή οτιδήποτε άλλο.
Έτσι, στην περίπτωση του Excel, θέλω το γράφημα να φορτώνει αμέσως δεδομένα από το αρχείο δεδομένων κατά το άνοιγμα του αρχείου βιβλίου εργασίας. Για να το κάνετε αυτό, μεταβείτε στον επεξεργαστή κώδικα κάνοντας κλικ στο "Προβολή κώδικα" στο μενού προγραμματιστή και κάντε διπλό κλικ στο βιβλίο εργασίας για να δείτε τον κωδικό του βιβλίου εργασίας. Αλλάξτε το σωστό αναπτυσσόμενο μενού σε "Άνοιγμα". Αυτό είναι το σενάριο που θα εκτελεστεί όταν ανοίξει για πρώτη φορά το αρχείο του βιβλίου εργασίας.
Για να φορτώσει το γράφημα με δεδομένα από κώδικα, το ίδιο το γράφημα χρειάζεται ένα όνομα. Επιστρέψτε στο υπολογιστικό φύλλο, κάντε δεξί κλικ στο γράφημα και επιλέξτε Ιδιότητες. Θα δείτε το πεδίο "Όνομα" με κάτι σαν "ChartSpace1". Μπορείτε να το αλλάξετε σε οτιδήποτε. Έχω ονομάσει το δικό μου "MyChart".
Επίσης, για να ξέρετε πώς είναι το αρχείο δεδομένων - το δικό μου είναι ένα αρχείο κειμένου γεμάτο με τιμές δεδομένων σε μορφή οριοθετημένη με κόμματα. Αυτό το αρχείο θα μπορούσε να είναι οτιδήποτε - δεδομένα εργαστηρίου που εξάγονται από αισθητήρες, οικονομικές πληροφορίες που πληκτρολογούνται στο αρχείο με μη αυτόματο τρόπο από ασκούμενους ή οτιδήποτε άλλο. Θα διαβάζετε το αρχείο με τον κωδικό σας, οπότε δεν έχει σημασία ποια είναι η εμφάνιση των δεδομένων, αρκεί να γνωρίζετε πώς θα εμφανίζεται κάθε γραμμή όταν το διαβάζει το πρόγραμμά σας.
Λοιπόν, τώρα για το διασκεδαστικό μέρος. Θα σας δείξω τον κωδικό σε μικρές ενότητες, ώστε να μην είναι συντριπτικό και να εξηγήσω τι κάνει ο κώδικας. Το επάνω μέρος του κώδικα θα διαβάσει πρώτα σε όλες τις τιμές από το αρχείο κειμένου και θα τις αποθηκεύσει σε δύο συστοιχίες, μία για μεταβλητές x (xVar) και μία για μεταβλητές y (yVar).
Dim fso ως νέο FileSystemObject. Ντιμ fnum. Dim MyFile ως συμβολοσειρά. Dim strDataLine ως συμβολοσειρά. Dim xVar () ως παραλλαγή. Dim yVar () ως παραλλαγή. Dim intNumOfLines As Integer MyFile = "c: \ files \ MyData.txt" fnum = FreeFile () Ανοίξτε το MyFile για είσοδο ως # 1. intNumOfLines = 0. Do While Not EOF (1) intNumOfLines = intNumOfLines + 1 Είσοδος # 1, strDataLine Input # 1, strDataLine. Βρόχος. Κλείσιμο # 1 ReDim xVar (intNumOfLines) ReDim yVar (intNumOfLines) Ανοίξτε το MyFile για είσοδο ως # 1. intNumOfLines = 0. Do While Not EOF (1) Είσοδος # 1, xVar (intNumOfLines) Είσοδος # 1, yVar (intNumOfLines) intNumOfLines = intNumOfLines + 1. Βρόχος. Κλείσιμο # 1
Αυτός ο κώδικας βασικά διατρέχει το αρχείο δεδομένων δύο φορές - την πρώτη φορά που διαστασιολογούνται οι πίνακες έτσι είναι το ακριβές μήκος που απαιτείται για την αποθήκευση των δεδομένων και στη συνέχεια μια δεύτερη φορά για να διαβάσετε τα δεδομένα σε αυτά συστοιχίες. Εάν δεν γνωρίζετε τι είναι ένας πίνακας - είναι μια μεταβλητή ή μια περιοχή αποθήκευσης που θα περιέχει μια μεγάλη λίστα τιμών στις οποίες μπορείτε να αποκτήσετε πρόσβαση χρησιμοποιώντας τη σειρά με την οποία αποθηκεύτηκε η τιμή σε πίνακα. Το ένα φορτωμένο τρίτο θα ήταν (3), για παράδειγμα.
Τώρα που έχετε δύο από αυτές τις συστοιχίες φορτωμένες με όλες τις τιμές από το αρχείο δεδομένων σας, είστε έτοιμοι να φορτώσετε αυτές τις τιμές στο γράφημα που έχετε ήδη ενσωματώσει. Εδώ είναι ο κώδικας που το κάνει αυτό.
Με το Sheet1.MyChart .Clear .Refresh Set oChart = .Charts. Προσθέστε το oChart. HasTitle = True oChart. Τίτλος. Λεζάντα = "Οι τιμές δεδομένων μου" oChart. Εσωτερικό. Χρώμα = "μπλε" oChart. Οικόπεδο Εσωτερικό. Χρώμα = "λευκό" Ορισμός oSeries = oChart. Σειρά Συλλογή. Προσθήκη με oSeries .Caption = "Οι τιμές δεδομένων μου" .SetData chDimCategories, chDataLiteral, xVar .SetData chDimValues, chDataLiteral, yVar .Line. Χρώμα = "μπλε". Γραμμή. DashStyle = chLineDash. Γραμμή. Βάρος = 2. Τύπος = chChartTypeLine End With oChart. HasLegend = True. oChart. Θρύλος. Θέση = chLegendPositionBottom. Τερματισμός με
Είναι το "Sheet1.MyChart" που συνδέει τον κώδικα με το πραγματικό γράφημα που έχετε ενσωματώσει. Βασίζεται σε αυτό που το ονομάσατε. Αυτό θα συμβεί όταν το ενσωματώσετε στο Word, στο Powerpoint ή σε οποιοδήποτε άλλο προϊόν του Office. Δεν θα το αναφέρετε χρησιμοποιώντας το "Φύλλο1", αλλά αντίθετα οποιοδήποτε στοιχείο κρατάει το Διάγραμμα σε αυτήν την περίπτωση, όπως το "document1" στο Word για παράδειγμα.
Ο παραπάνω κώδικας στη συνέχεια ρυθμίζει την επισήμανση και το χρωματισμό του γραφήματος και, στη συνέχεια, φορτώνει τις τιμές χρησιμοποιώντας τη μέθοδο ".setdata" και για τις τιμές x και y του δισδιάστατου συνόλου δεδομένων. Μόλις ολοκληρωθεί η εκτέλεση του παραπάνω κώδικα, θα εμφανιστεί το ακόλουθο γράφημα.
Αυτά τα δεδομένα είναι απευθείας από το αρχείο κειμένου. Το μόνο μειονέκτημα εδώ είναι ότι τα αρχεία δεδομένων θα πρέπει να είναι δισδιάστατα μόνο εάν θέλετε να χρησιμοποιήσετε τον παραπάνω κώδικα. Θα μπορούσατε να προσθέσετε περισσότερες τιμές στο σύνολο δεδομένων, αλλά θα πρέπει να τροποποιήσετε τον παραπάνω κώδικα για να διαβάσετε την τρίτη τιμή κάθε φορά μέσω του βρόχου και, στη συνέχεια, να αντιγράψετε το "SeriesCollection. Προσθήκη "για να δημιουργήσετε μια άλλη σειρά και στη συνέχεια να την προσθέσετε στο γράφημα με τον ίδιο τρόπο.
Μπορεί να φαίνεται περίπλοκο απλώς διαβάζοντας τον παραπάνω κώδικα, αλλά μόλις το κάνετε ένα από αυτά, είναι ένα κομμάτι κέικ για να το τροποποιήσετε για οποιεσδήποτε ανάγκες σας. Θα μπορούσατε να χρησιμοποιήσετε το ίδιο γράφημα και παρόμοιο κώδικα για να δημιουργήσετε ένα γράφημα ράβδων, ένα διάγραμμα διασποράς ή οποιονδήποτε άλλο τύπο γραφήματος που θέλετε χρησιμοποιώντας αυτό το ίδιο αντικείμενο. Είναι ευέλικτο και ευέλικτο - και είναι ένα ισχυρό εργαλείο στο οπλοστάσιό σας, εάν έχετε συνάδελφο της αυτοματοποίησης για μεγαλύτερη παραγωγικότητα.
Παίξτε με τον παραπάνω κωδικό και δείτε αν μπορείτε να φορτώσετε αυτόματα τα δεδομένα στις εφαρμογές σας. Ποιες δημιουργικές χρήσεις μπορείτε να σκεφτείτε για αυτόν τον τύπο αυτοματισμού; Μοιραστείτε τις σκέψεις και τα σχόλιά σας στην παρακάτω ενότητα σχολίων!
Ο Ryan έχει πτυχίο BSc στην Ηλεκτρολογία. Έχει εργαστεί 13 χρόνια στον τομέα της αυτοματοποίησης, 5 χρόνια στον τομέα της πληροφορικής και τώρα είναι μηχανικός εφαρμογών. Πρώην διευθύνων σύμβουλος του MakeUseOf, μίλησε σε εθνικά συνέδρια για την οπτικοποίηση δεδομένων και έχει εμφανιστεί στην εθνική τηλεόραση και ραδιόφωνο.