| Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα. Σε περιβάλλον Access θέλω να χρησιμοποιήσω το παρακάτω: Κώδικας: Sub test()
Dim x As String
x = InputBox("test", "test")
If x = "" Then
MsgBox "No Value"
Else
MsgBox x
End If
End Sub
Αν ο χρήστης πατήσει άκυρο ή απλά κλείσει το παράθυρο, το x είναι πάλι ““ οπότε η VBA δεν μπορεί να επιστρέψει την πληροφορία ότι ακυρώθηκε δηλ δεν αναγνωρίζει την ακύρωση. Μήπως γνωρίζετε κάτι πάνω σ αυτό; Με άλλα λόγια, θέλω με κάποιο τρόπο να επισημαίνεται η ακύρωση του Inputbox από τη VBA. Ευχαριστώ Αντώνης |
|
#2
| |||
| |||
|
καλησπερα απο οτι τουλαχιστον γνωριζω εγω δεν υπάρχει τροπος αναγνωρισεις του cancel η το ok..! και τα δουλεύω αρκετα.. απλα προσαρμοζω τον κωδικα αντιστοιχα.. Γιώργος |
|
#3
| |||
| |||
|
Γιώργο καλησπέρα. Σ ευχαριστώ για την άμεση ανταπόκριση. Το ΟΚ το βρίσκω αν το x του κώδικα δεν είναι κενό ("") Το πρόβλημα μου είναι το Cancel!!! Φιλικά Αντώνης |
|
#4
| |||
| |||
|
Γεια σου Αντωνη ουτε το ok βρίσκεις ουσιαστικα.. Γιατι ειτε οκ πατησεις ειτε cancel το ιδιο επιστρεφει Επιστρεφει ότι έχεισ καταχωρήσει.. Αρα είτε το ένα είτε το άλλο ειναι το ίδιο.. εκτος και εαν υπάρχει κατι που δεν το ξέρω..! Γιώργος |
|
#5
|
|
Υπάρχει η συνάρτηση StrPtr, στην κλάση της VBA “_HiddenModule“ που είναι καλά κρυμμένη και μας επιστρέφει μια τιμή Long που αντικατοπτρίζει την διεύθυνση της μνήμης (RAM) του υπολογιστή που έχει κρατηθεί για ένα συγκεκριμένο κείμενο (String). Έτσι λοιπόν δίνοντας την εντολή StrPtr(x), όπου x = το InputBox, η τιμή που θα μας επιστραφεί θα είναι:
Στην πράξη γίνεται έτσι: Κώδικας: Sub test1()
Dim x As String
x = InputBox("test", "test")
If StrPtr(x) = 0 Then
MsgBox "Aborted from User"
ElseIf x = vbNullString Then
MsgBox "No Value"
Else
MsgBox x
End If
End Sub
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word Τελευταία επεξεργασία από το χρήστη Tasos : 07-01-10 στις 19:44. |
|
#6
| |||
| |||
|
Καλημέρα σε όλους. Σας ευχαριστώ για τις απαντήσεις και το χρόνο σας. Μια ερώτηση μόνο. Που υπάρχει αυτή η StrPtr; Όσο κι αν έψαξα στη βοήθεια δεν μπόρεσα να βρώ κάτι. φιλικά Αντώνης |
|
#7
| ||||
| ||||
| |
|
#8
|
|
Καλησπέρα σε όλους! Φίλε Τόλη καλωσόρισες στο φόρουμ! Τις συναρτήσεις αυτές θα τις βρούμε στον Object Browser του VBE (άνοιγμα με το πλήκτρο F2). Θα πρέπει να τσεκάρουμε την επιλογή "Show hidden Members" και να κάνουμε αναζήτηση (βλ. εικόνα). ![]() Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word |
|
#9
| |||
| |||
|
Αγαπητοί μου φίλοι καλησπέρα. Σας ευχαριστώ πολύ για τις απαντήσεις! Φίλε Τόλη σ ευχαριστώ πολύ για το Link είχα διαβάσει ήδη σχετικά στη Microsoft - Not So Lightweight . Αυτό που μου είχε κάνει εντύπωση ήταν που δεν εμφανιζόταν στο intelicense στον VBE. Τώρα, ξέρω που θα το βρώ αυτό και πολλά άλλα "κρυμμένα". Φίλε Τάσο, σ ευχαριστώ για την πληροφορία με τα Hidden members στον VBE. Φιλικά Αντώνης |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
Η ώρα είναι 12:09.




Αλλαγή σε γραμμικό τρόπο
