Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 13-02-10, 01:09
Το avatar του χρήστη nisgia
nisgia Ο χρήστης nisgia δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 186
Exclamation Χρήσιμες συναρτήσεις VBA

Ξεκινάω αυτό το θέμα με σκοπό να μαζέψουμε χρήσιμες, γενικής χρήσης συναρτήσεις της VBA
τις οποίες θα μπορούμε να εισάγουμε στα έργα μας.
Γιαυτό καλό θα ήταν να αποφεύγουμε αναφορές σε αντικείμενα συγκεκριμένων εφαρμογών.

Η πρώτη μου προσπάθεια, φιλοδοξεί να καλύψει την εκκρεμότητα που είχαμε αφήσει σε θέμα του EXCEL,
σχετικά με την δημιουργία προσφώνησης με χρήση της VBA.

Στο συνημμένο θα βρείτε μια λειτουργική μονάδα (modGreeting) την οποία μπορείτε να εισάγετε κατευθείαν στον VBE
ή να την ανοίξετε με έναν επεξεργαστή κειμένου τύπου Notpad ώστε απλώς να εξετάσετε τον κώδικα.

Εκεί θα βρείτε τρεις δημόσιες συναρτήσεις οι οποίες είναι:

1. Συνάρτηση Gender.
Επιστρέφει μια τιμή η οποία αντιστοιχεί στο γένος του ονόματος που της περνάμε ως παράμετρο.
Για διευκόλυνση, ο τύπος της επιστρεφόμενης τιμής είναι ο τύπος μιας προσαρμοσμένης απαρίθμησης με όνομα Sex.
(...με τόσα String θα μου πείτε, αναπόφευκτο ήταν ένα τέτοιο όνομα. )

Οι πιθανές τιμές είναι:
0 = Άγνωστο : sxUnKnown
1 = Αρσενικό : sxMale
2 = Θηλυκό : sxFemale
2. Συνάρτηση Greeting.
Αναλόγως το γένος του ονόματος που της περνάμε ως παράμετρο, μας επιστρέφει το "Κύριε", "Κυρία" και "Κύριε/Κυρία".
3. Συνάρτηση ToVocative.
Μας επιστρέφει το όνομα που της περνάμε ως παράμετρο, σε κλητική πτώση.
Αφού εισάγετε την λειτουργική μονάδα στο έργο σας, στη συνέχεια μπορείτε να δοκιμάσετε τις διαδικασίες της όπως στα παρακάτω παραδείγματα:

Κώδικας:
MsgBox Greeting("Νίκος")& " " & ToVocative("Ευαγγελάτος")
MsgBox Greeting("Χάρης")& " " & ToVocative("Κατσιμίχας")
MsgBox Greeting("Χάρις")& " " & ToVocative("Αλεξίου")
Tip: Αν περνάμε το όνομα και όχι το επώνυμο στη συνάρτηση Greeting έχουμε περισσότερες πιθανότητες να πιάσουμε το γένος.
Δοκιμάστε τες, σχολιάστε τες και πείτε μου αν μου ξεφεύγουν κάποιες περιπτώσεις.

Φιλικά,
Γιάννης
Συνημμένα Αρχεία
Τύπος Αρχείου: zip modGreeting.zip (1.007 Bytes, 170 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!

Τελευταία επεξεργασία από το χρήστη gr8styl : 27-02-10 στις 00:40.
Απάντηση με παράθεση