Αποτρέψτε το κλείσιμο μιας μορφής χρήστη όταν ο χρήστης κάνει κλικ στο κουμπί x χρησιμοποιώντας VBA στο Microsoft Excel

Anonim

Σε αυτό το άρθρο, θα δείξουμε πώς να απενεργοποιήσετε το κουμπί x στη μορφή χρήστη χρησιμοποιώντας VBA.

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

Αυτή η μορφή χρήστη περιέχει μόνο ένα κουμπί που χρησιμοποιείται για το κλείσιμο της φόρμας χρήστη. Η φόρμα χρήστη μπορεί να κλείσει μόνο κάνοντας κλικ σε αυτό το κουμπί. Ακόμη, αν πατήσετε το πλήκτρο συντόμευσης Alt+F4 στο πληκτρολόγιο δεν θα μπορείτε να κλείσετε αυτήν τη μορφή χρήστη.

Λογική εξήγηση

Για την απενεργοποίηση του κουμπιού x της μορφής χρήστη, χρησιμοποιήσαμε το συμβάν κλεισίματος ερωτήματος της μορφής χρήστη. Αυτό το συμβάν ενεργοποιείται πριν κλείσει η φόρμα χρήστη.

Σε αυτήν την περίπτωση, έχουμε θέσει τον όρο ότι εάν η λειτουργία κλεισίματος είναι έλεγχος μενού, μην κλείσετε τη μορφή χρήστη. Αντίθετα, εμφανίστε ένα μήνυμα πληροφοριών στο παράθυρο διαλόγου.

Ακολουθήστε παρακάτω για τον κωδικό

 Επιλογή Explicit Sub running () UserForm1.Show End Sub 'Προσθέστε τον παρακάτω κώδικα στο userform Private Sub CommandButton1_Click ()' Close the userform Unload Me End Sub Private Sub UserForm_QueryClose (Cancel As Integer, CloseMode As Integer) 'Using Query Close event of Userform' Σύγκριση της σταθερής τιμής της μεταβλητής CloseMode 'Αν είναι ίση με την ενσωματωμένη σταθερά του μενού ελέγχου' Στη συνέχεια αποτρέψτε το κλείσιμο της φόρμας χρήστη και 'Εμφάνιση μηνύματος πληροφοριών παραθύρου Εάν CloseMode = vbFormControlMenu Στη συνέχεια' Αλλαγή Ακύρωσης τιμής μεταβλητής σε True 'Από προεπιλογή, είναι Λάθος Cancel = True MsgBox "Δεν μπορείτε να κλείσετε το διάλογο έτσι!" Τέλος Αν Τέλος Υπο 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email