Πώς οι εφαρμογές Google Apps μπορούν να εξοικονομήσουν χρόνο;
Wojciech Bak
Σήμερα, οι λύσεις cloud εκτοπίζουν τις εφαρμογές γραφείου που είναι αφιερωμένες στις εργασίες γραφείου. Μία από τις μεγαλύτερες σουίτες γραφείου παρέχεται από τη Google και περιλαμβάνει Έγγραφα, Υπολογιστικά Φύλλα και Παρουσιάσεις, δηλαδή την πλειοψηφία όσων χρειάζεται ένα μέσο γραφείο.
Σε αυτό το άρθρο, θέλω να εξετάσω πιο προσεκτικά την εφαρμογή Google Spreadsheets και να σας δείξω πώς να την κάνετε ακόμα πιο έξυπνη χρησιμοποιώντας το Google Apps Script.
Φανταστείτε ότι η δουλειά σας αφορά την επίβλεψη της εργασίας κάποιου άλλου, η οποία συνήθως οδηγεί στη σύνταξη κάποιων εκθέσεων. Θέλετε να κρατήσετε τα πράγματα τυποποιημένα και γενικά, οπότε δημιουργήσατε ένα λογιστικό φύλλο με τον κατάλογο των πραγμάτων που πρέπει να ελέγξετε και μερικά κελιά για ένα σχόλιο. Ας υποθέσουμε ότι είστε υπεύθυνος για την ποιότητα μιας ψηφιακής προϊόν. Τότε το Φύλλο σας μπορεί να μοιάζει με αυτό:
Στο παραπάνω παράδειγμα, μπορείτε να δείτε διάφορα πράγματα:
όνομα της λειτουργίας ("Φόρμα σύνδεσης χρήστη") και αριθμός (π.χ. από σύστημα ERP),
κατάλογο των πτυχών που πρέπει να ελέγξετε και να δώσετε ανατροφοδότηση σχετικά με αυτές ("Περιοχή"),
μερικά κενά πεδία για τα συμπεράσματά σας ("Σχόλιο").
Αυτό το φύλλο ονομάζεται "Γεννήτρια εκθέσεων", επειδή θα σας δείξω πώς αυτό το έγγραφο μπορεί να εξελιχθεί σε ένα πραγματικά χρήσιμο εργαλείο, επιτρέποντάς σας να αξιολογήσετε την ποιότητα των αποτελεσμάτων της εργασίας κάποιου.
Αν θέλετε να ποσοτικοποιήσετε κάποια αποτελέσματα, η καλύτερη επιλογή θα ήταν να χρησιμοποιήσετε μια κλίμακα, π.χ. 1-10 βαθμούς, ή κάτι τέτοιο.
Ας δημιουργήσουμε ένα νέο φύλλο στο ίδιο έγγραφο, ας το ονομάσουμε "Config" και ας το ορίσουμε ως προστατευμένο (ή τουλάχιστον ας προσθέσουμε ένα emoji κλειδαριάς στο όνομά του). Αυτό το φύλλο προορίζεται μόνο για τη διατήρηση ορισμένων προκαθορισμένων επιλογών, όπως οι παρακάτω:
Τώρα μπορείτε να βάλετε αυτές τις τιμές σε μερικά dropdowns στο Γεννήτρια αναφορών φύλλο χρησιμοποιώντας το Επικύρωση δεδομένων χαρακτηριστικό. Εδώ μπορείτε να βρείτε κάποιες οδηγίες για το πώς να το πετύχετε αυτό:
Έχοντας κάνει αυτό, μπορείτε εύκολα να μετατρέψετε τις αξιολογήσεις σε αριθμητικές τιμές χρησιμοποιώντας την εντολή ΕΆΝ φόρμουλα. Το λογιστικό σας φύλλο θα παραμείνει φιλικό προς τον άνθρωπο και ταυτόχρονα τα συμπεράσματά σας θα είναι ποσοτικοποιημένα (άρα μετρήσιμα και συγκρίσιμα).
Αυτό το έγγραφο είναι τακτοποιημένο, ωστόσο, φανταστείτε τι συμβαίνει όταν το πεδίο εφαρμογής του έλεγχος μεγαλώνει και έχετε εκατοντάδες πράγματα να ελέγξετε. Μπορείτε να αποθηκεύσετε ένα κενό πρότυπο φόρμας και να το αντιγράφετε κάθε φορά που χρειάζεται να κάνετε μια νέα έκθεση, αλλά η εναλλαγή μεταξύ των λιστών εγγράφων και του λογιστικού φύλλου είναι πολύ ενοχλητική. Αυτό είναι το σημείο στο οποίο αρχίζετε να σκέφτεστε κάποια αυτοματοποίηση.
Είναι η ιδανική στιγμή για να ξεκινήσετε την περιπέτειά σας με το Google Apps Script!
Πριν ξεκινήσουμε την κωδικοποίηση, ας προετοιμάσουμε μερικά κουμπιά για μαζικές ενέργειες. Σύμφωνα με το παραπάνω παράδειγμα:
χαρακτηρίστε όλα τα στοιχεία ως "Τέλεια","
σημειώστε τα όλα ως "Βελτιώσεις που απαιτούνται".
σημειώστε τα όλα ως "Απαράδεκτα","
reset all (θέτει την τιμή σε κενή συμβολοσειρά).
Επίσης, θα χρειαστούμε μια επιπλέον ενέργεια για να αποθηκεύσουμε ένα νέο αρχείο όταν ολοκληρωθεί ο έλεγχος.
Πρώτον, ας επεκτείνουμε το Γεννήτρια αναφορών με τη λειτουργική περιοχή που περιέχει κουμπιά.
Στη συνέχεια, χρησιμοποιώντας Εισαγωγή -> Σχέδιο, ας προσθέσουμε τα κουμπιά μας, ένα προς ένα.
Το δείγμα του εγγράφου μας θα πρέπει να μοιάζει με αυτό:
Είμαστε έτοιμοι να προσθέσουμε λίγη λογική σε αυτό το όμορφο UI! Είναι πολύ εύκολο να ξεκινήσετε - απλά επιλέξτε Εργαλεία -> Επεξεργαστής σεναρίων στο επάνω μενού και το πρόγραμμα περιήγησης θα μεταβεί σε μια νέα κάρτα.
Η διεπαφή του επεξεργαστή είναι πολύ διαισθητική. Αν είστε εξοικειωμένοι με οποιοδήποτε κωδικός editor, θα πρέπει εύκολα να μετονομάσετε το αρχείο σας ή να δημιουργήσετε ένα νέο (Αρχείο -> Νέο -> Αρχείο σεναρίου).
Google Apps Script δεν είναι τίποτα περισσότερο από τον ξάδελφο του JavaScript, ας πούμε. Αν γνωρίζετε JS, μπορείτε να επιτύχετε και εσείς την επάρκεια GS!
Το πρώτο βήμα είναι να συγκεντρώσετε όλες τις πιθανώς αναγκαίες αναφορές σε ένα μέρος και να τους δώσετε κάποια ουσιαστικά ονόματα. Ξεκινάμε με τις παγκόσμιες μεταβλητές αφαιρώντας την προεπιλεγμένη myFunction δήλωση και πληκτρολογώντας κάτι πιο χρήσιμο στο Code.gs αρχείο.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
// αναφορές φύλλων
var report = spreadsheet.getSheets()[0]
var config = spreadsheet.getSheets()[1]
Ο παραπάνω κώδικας είναι αρκετά αυτονόητος, αλλά για να γίνει απολύτως σαφής:
SpreadsheetApp κλάση είναι διαθέσιμη σε ένα παγκόσμιο πλαίσιο,
getActiveSpreadsheet μας επιτρέπει να λάβουμε την αναφορά στο λογιστικό φύλλο στο οποίο εργαζόμαστε,
getSheets που καλείται στη μέθοδο Φύλλο εργασίας επιστρέφει τον πίνακα των φύλλων από αυτό το φύλλο- στο παράδειγμά μας, επιστρέφει το [Γεννήτρια αναφορών φύλλο, Διαμόρφωση sheet] array.
Τώρα μπορούμε να προχωρήσουμε περαιτέρω και να πάρουμε κάποια χρήσιμα δεδομένα από το λογιστικό μας φύλλο.
// επεξεργάσιμη περιοχή (κελιά με dropdowns)
var dropdowns = report.getRange('C4:C13')
// κελί με υπότιτλο (όνομα χαρακτηριστικού)
var featureName = report.getRange('B2').getValue()
// επιλογές από το φύλλο 'Config'
// παρατηρήστε ότι μπορείτε να περάσετε ένα μόνο κελί στη μέθοδο getRange()
// και η αλλαγή των επιλογών δεν επηρεάζει τη λειτουργικότητα του σεναρίου σας
var values = {
unacceptable: config.getRange('A2').getValue(),
improvements_needed: config.getRange('A3').getValue(),
perfect: config.getRange('A4').getValue(),
empty: ''
};
Το μόνο που απομένει να κωδικοποιήσουμε είναι ο ορισμός των λειτουργιών που θέλουμε να αναθέσουμε στα κουμπιά μας.
// λειτουργίες κουμπιών
function allPerfect() {
dropdowns.setValue(values.perfect)
}
function allNeedImprovements() {
dropdowns.setValue(values.improvements_needed)
}
function allUnacceptable() {
dropdowns.setValue(values.unacceptable)
}
function clear() {
dropdowns.setValue(values.empty)
}
function copy() {
var copy = spreadsheet.copy(featureName + ' - report')
// Τώρα έχουμε αντιγράψει δύο φύλλα με τις ίδιες τιμές
// αλλά με αλλαγμένα ονόματα (με την κατάληξη "copy"),
// σε αυτή την περίπτωση, πρέπει να τους δώσουμε τα αρχικά ονόματα
// μετονομασία φύλλου έκθεσης
copy.getSheets()[0].setName(report.getName())
// μετονομασία φύλλου διαμόρφωσης
copy.getSheets()[1].setName(config.getName())
}
Το copy() θα δημιουργήσει αυτόματα ένα νέο λογιστικό φύλλο με το όνομα (στο παράδειγμά μας) "Φόρμα σύνδεσης χρήστη - αναφορά", ακριβώς δίπλα στην τρέχουσα.
Αναθέστε τις μεθόδους μας στα κουμπιά που δημιουργήθηκαν προηγουμένως. Επιλέξτε Ανάθεση δέσμης ενεργειών μετά από δεξί κλικ στο κουμπί...
...και πληκτρολογήστε το όνομα της μεθόδου, εδώ είναι allPerfect
Δεν χρειάζεται να κλείσετε τη γεννήτρια σας. Χρησιμοποιήστε τις μαζικές σας ενέργειες για να προετοιμάσετε τη φόρμα για μια νέα αναφορά, αλλάξτε το όνομα του χαρακτηριστικού και, στη συνέχεια, αποθηκεύστε ένα άλλο αντίγραφο!
Δυνατότητες της Google Apps Script είναι τόσο ευρείες που η συζήτηση όλων αυτών θα απαιτούσε μια ολόκληρη σειρά άρθρων. Εάν ενδιαφέρεστε για τη βελτιστοποίηση της εργασίας σας στο γραφείο, μη διστάσετε να ελέγξετε το επίσημα έγγραφα και κάντε τα σεντόνια σας ακόμα πιο έξυπνα!
Υπάρχουν μερικά πραγματικά χρήσιμα hacks εκεί έξω, όπως αυτό από το xfanatical.com σχετικά με την εξαγωγή φύλλων Google Spreadsheet σε PDF.
Το παράδειγμα που περιγράφεται σε αυτό το άρθρο είναι εδώ. Ελπίζω να σας αρέσει. Καλή διασκέδαση!