Μπορείτε να χρησιμοποιήσετε τη συνάρτηση InputBox για να προσθέσετε παράθυρα διαλόγου στις μακροεντολές του Excel 2013. Όταν εκτελείτε τη μακροεντολή, αυτή η συνάρτηση της Visual Basic αναγκάζει το Excel να εμφανίσει ένα παράθυρο διαλόγου Εισαγωγή όπου μπορείτε να εισαγάγετε οποιονδήποτε τίτλο έχει νόημα για το νέο φύλλο εργασίας. Στη συνέχεια, η μακροεντολή τοποθετεί αυτό το κείμενο στο τρέχον κελί και μορφοποιεί αυτό το κείμενο, εάν αυτό εκπαιδεύσατε στη μακροεντολή σας να κάνει στη συνέχεια.
Για να δείτε πόσο εύκολο είναι να χρησιμοποιήσετε τη συνάρτηση InputBox για να προσθέσετε διαδραστικότητα σε μια μακροεντολή, ακολουθήστε τα βήματα για τη μετατροπή της μακροεντολής Company_Name που εισάγει αυτήν τη στιγμή το κείμενο "Mind Over Media" σε μια μακροεντολή που πραγματικά σας ζητά το όνομα που θέλετε μπήκε. Η συνάρτηση InputBox χρησιμοποιεί την ακόλουθη σύνταξη:
InputBox(προτροπή[,τίτλος][,προεπιλογή][,xpos][,ypos][,αρχείο βοήθειας, πλαίσιο])
Σε αυτή τη συνάρτηση, απαιτείται μόνο το όρισμα prompt με τα υπόλοιπα ορίσματα να είναι προαιρετικά. Το όρισμα prompt καθορίζει το μήνυμα που εμφανίζεται μέσα στο πλαίσιο διαλόγου Input, ζητώντας από τον χρήστη να εισαγάγει μια νέα τιμή (ή σε αυτήν την περίπτωση, ένα νέο όνομα εταιρείας).
Το όρισμα προτροπής μπορεί να είναι έως και 1.024 χαρακτήρες. Εάν θέλετε το μήνυμα προτροπής να εμφανίζεται σε διαφορετικές γραμμές μέσα στο πλαίσιο διαλόγου, εισάγετε τις συναρτήσεις Chr(13) και Chr(10) στο κείμενο (για να εισαγάγετε μια επιστροφή μεταφοράς και μια τροφοδοσία γραμμής στο μήνυμα, αντίστοιχα).
Το προαιρετικό όρισμα τίτλος καθορίζει ποιο κείμενο θα εμφανίζεται στη γραμμή τίτλου του πλαισίου διαλόγου Εισαγωγή. Εάν δεν καθορίσετε όρισμα τίτλου , το Excel εμφανίζει το όνομα της εφαρμογής στη γραμμή τίτλου. Το προαιρετικό προεπιλεγμένο όρισμα καθορίζει την προεπιλεγμένη απόκριση που εμφανίζεται αυτόματα στο πλαίσιο κειμένου στο κάτω μέρος του πλαισίου διαλόγου Εισαγωγή.
Εάν δεν καθορίσετε ένα προεπιλεγμένο όρισμα, το πλαίσιο κειμένου είναι κενό στο πλαίσιο διαλόγου Εισαγωγή.
Τα προαιρετικά ορίσματα xpos και ypos καθορίζουν την οριζόντια απόσταση από το αριστερό άκρο της οθόνης στο αριστερό άκρο του πλαισίου διαλόγου και την κατακόρυφη απόσταση από το επάνω άκρο της οθόνης έως το επάνω άκρο του πλαισίου διαλόγου. Εάν δεν καθορίσετε αυτά τα ορίσματα, το Excel κεντράρει το παράθυρο διαλόγου εισαγωγής οριζόντια και το τοποθετεί περίπου το ένα τρίτο της διαδρομής προς τα κάτω στην οθόνη κατακόρυφα.
Οι helpfile και το πλαίσιο προαιρετικό επιχειρήματα καθορίσετε το όνομα του αρχείου έθιμο Βοήθεια ότι θα θέσει στη διάθεση του χρήστη για να εξηγήσει τη λειτουργία του πλαισίου διαλόγου εισόδου, καθώς και το είδος των δεδομένων που δέχεται.
Ως μέρος της διαδικασίας δημιουργίας ενός προσαρμοσμένου αρχείου βοήθειας για χρήση στο σύστημα βοήθειας του Excel, εκχωρείτε στο θέμα έναν αριθμό περιβάλλοντος κατάλληλο για το περιεχόμενό του, ο οποίος στη συνέχεια καθορίζεται ως το όρισμα περιβάλλοντος για τη συνάρτηση InputBox.
Όταν καθορίζετε ένα αρχείο βοήθειας και ένα όρισμα περιβάλλοντος για αυτήν τη συνάρτηση, το Excel προσθέτει ένα κουμπί Βοήθεια στο παράθυρο διαλόγου προσαρμοσμένης εισαγωγής στο οποίο οι χρήστες μπορούν να κάνουν κλικ για πρόσβαση στο προσαρμοσμένο αρχείο βοήθειας στο παράθυρο Βοήθειας.
Για να μπορέσετε να προσθέσετε τη γραμμή κώδικα στη μακροεντολή με τη συνάρτηση InputBox, πρέπει να βρείτε τη θέση στις εντολές της Visual Basic όπου πρέπει να πάει η γραμμή. Για να εισαγάγετε το κείμενο Mind Over Media στο ενεργό κελί, η μακροεντολή Company_Name χρησιμοποιεί την ακόλουθη εντολή της Visual Basic:
ActiveCell.FormulaR1C1 = "Mind Over Media"
Για να προσθέσετε διαδραστικότητα στη μακροεντολή, πρέπει να εισαγάγετε τη συνάρτηση InputBox σε μια γραμμή στο παράθυρο Κώδικας ακριβώς πάνω από αυτήν τη δήλωση ActiveCell.FormulaR1C1, ως εξής:
Τοποθετήστε το σημείο εισαγωγής στο παράθυρο Code στην αρχή της δήλωσης ActiveCell.FormulaR1C1 και πατήστε Enter για να εισαγάγετε μια νέα γραμμή.
Τώρα που προσθέσατε μια νέα γραμμή, πρέπει να μετακινήσετε το σημείο εισαγωγής προς τα πάνω.
Πατήστε το πλήκτρο επάνω βέλους για να τοποθετήσετε το σημείο εισαγωγής στην αρχή της νέας γραμμής.
Σε αυτή τη γραμμή, θέλετε να δημιουργήσετε μια μεταβλητή που παρέχει το όρισμα προτροπής στη συνάρτηση InputBox. Για να το κάνετε αυτό, δηλώνετε το όνομα της μεταβλητής (InputMsg σε αυτήν την περίπτωση) ακολουθούμενο από την τρέχουσα καταχώρισή της. Φροντίστε να εσωκλείσετε το κείμενο του μηνύματος στη δεξιά πλευρά του ίσου σε ένα κλειστό ζευγάρι διπλών εισαγωγικών.
Πληκτρολογήστε τον ακόλουθο κώδικα για να δημιουργήσετε τη μεταβλητή InputMsg στη γραμμή 8 και, στη συνέχεια, πατήστε το πλήκτρο Enter για να ξεκινήσετε μια νέα γραμμή 9:
InputMsg = "Εισαγάγετε το όνομα ή τον τίτλο της εταιρείας για αυτό το φύλλο εργασίας στο παρακάτω πλαίσιο κειμένου και, στη συνέχεια, κάντε κλικ στο OK:"
Στη συνέχεια, δημιουργείτε μια μεταβλητή με το όνομα InputTitle που παρέχει το προαιρετικό όρισμα τίτλου για τη συνάρτηση InputBox. Αυτή η μεταβλητή κάνει το κείμενο "Spreadsheet Title" να εμφανίζεται ως τίτλος του πλαισίου διαλόγου Input. Και πάλι, φροντίστε να περικλείσετε το όνομα για τη γραμμή τίτλου του πλαισίου διαλόγου σε εισαγωγικά.
Πληκτρολογήστε τον ακόλουθο κώδικα για να δημιουργήσετε τη μεταβλητή InputTitle στη γραμμή 9 και, στη συνέχεια, πατήστε Enter για να εισαγάγετε μια νέα γραμμή 10:
InputTitle = "Τίτλος υπολογιστικού φύλλου"
Στη συνέχεια, δημιουργείτε ένα όνομα μεταβλητής DefaultText που παρείχε το προαιρετικό προεπιλεγμένο όρισμα στη συνάρτηση InputBox. Αυτή η μεταβλητή κάνει το κείμενο, "Mind Over Media", να εμφανίζεται ως η προεπιλεγμένη καταχώρηση στο πλαίσιο κειμένου στο κάτω μέρος του πλαισίου διαλόγου Εισαγωγή προσαρμοσμένου ονόματος εταιρείας.
Πληκτρολογήστε τον ακόλουθο κώδικα για να δημιουργήσετε τη μεταβλητή DefaultText στη γραμμή 10 και, στη συνέχεια, πατήστε Enter για να εισαγάγετε μια νέα γραμμή 11:
DefaultText = "Mind Over Media"
Στη συνέχεια, δημιουργείτε μια τελική μεταβλητή με το όνομα CompanyName που καθορίζει τη συνάρτηση InputBox ως καταχώρισή της (χρησιμοποιώντας τις μεταβλητές InputMsg, InputTitle και DefaultText που μόλις δημιουργήσατε) και αποθηκεύει τα αποτελέσματα αυτής της συνάρτησης.
Πληκτρολογήστε τον ακόλουθο κώδικα για να δημιουργήσετε τη μεταβλητή SpreadsheetTitle που χρησιμοποιεί τη συνάρτηση InputBox στη γραμμή 11:
SpreadsheetTitle = InputBox(InputMsg, InputTitle, DefaultText)
Τέλος, αντικαθιστάτε την τιμή "Mind Over Media", στην ιδιότητα ActiveCell.FormulaR1C1 με τη μεταβλητή SpreadsheetTitle (της οποίας η τιμή καθορίζεται από ό,τι εισάγεται στο πλαίσιο διαλόγου Εισαγωγή τίτλου υπολογιστικού φύλλου), αντικαθιστώντας έτσι αποτελεσματικά αυτήν τη σταθερά στη μακροεντολή με τα μέσα για να γίνει αυτή η εισαγωγή πραγματικά διαδραστική.
Επιλέξτε «Mind Over Media» στη γραμμή 12 και αντικαταστήστε το με SpreadsheetTitle (χωρίς εισαγωγικά).
Αποθηκεύστε την επεξεργασμένη μακροεντολή κάνοντας κλικ στο κουμπί Αποθήκευση στη γραμμή εργαλείων της Visual Basic και, στη συνέχεια, επιστρέψτε στο φύλλο εργασίας κάνοντας κλικ στο κουμπί Προβολή Microsoft Excel ή πατώντας Alt+F11. Στη συνέχεια, κάντε κλικ στο κουμπί Απόκρυψη στην ομάδα Παράθυρο της καρτέλας ΠΡΟΒΟΛΗ.
Τώρα, είστε έτοιμοι να ανοίξετε ένα νέο βιβλίο εργασίας και να εκτελέσετε την επεξεργασμένη μακροεντολή πατώντας Ctrl+N.
Το σχήμα δείχνει το παράθυρο Code με την επεξεργασμένη μακροεντολή Company_Name μετά την προσθήκη των δηλώσεων που το καθιστούν διαδραστικό.
Το παρακάτω σχήμα δείχνει το πλαίσιο διαλόγου Τίτλος υπολογιστικού φύλλου σε δράση στο φύλλο εργασίας. Αυτό το παράθυρο διαλόγου εισαγωγής εμφανίζεται τώρα αυτόματα και σας ζητά να εισαγάγετε κάθε φορά που εκτελείτε την επεξεργασμένη και τώρα πλήρως διαδραστική έκδοση της μακροεντολής Company_Name.
Για να προχωρήσετε και να εισαγάγετε το Mind Over Media στο τρέχον κελί και στη συνέχεια να το μορφοποιήσετε χρησιμοποιώντας τις υπόλοιπες εντολές μακροεντολών, απλώς κάντε κλικ στο OK σε αυτό το προσαρμοσμένο παράθυρο διαλόγου. Για να εισαγάγετε και να μορφοποιήσετε το όνομα μιας άλλης εταιρείας, απλώς πληκτρολογήστε το όνομα της εταιρείας (το οποίο αντικαθιστά αυτόματα το Mind Over Media στο πλαίσιο κειμένου) προτού κάνετε κλικ στο OK.