| Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπερα σε ολους Εχουμε κανενα γρηγορο κωδικα να εντοπιζω πια φορμα ειναι ανοιχτή..?? Γιώργος |
|
#2
|
|
Καλησπέρα σε όλους! Φίλε μου Γιώργο o παρακάτω κώδικας ελέγχει αν μια φόρμα είναι ανοιχτή σε κανονική προβολή: Κώδικας: Option Compare Database
Option Explicit
Function IsOpen(MyFormName$) As Boolean
If SysCmd(10, 2, MyFormName) <> 0 Then
If Forms(MyFormName).CurrentView = 1 Then IsOpen = True
End If
End Function
Sub test()
If IsOpen("MyFormName") Then MsgBox "Form is running!"
End Sub
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word Τελευταία επεξεργασία από το χρήστη Tasos : 12-02-10 στις 15:26. |
|
#3
| |||
| |||
|
Καλημέρα Τασο Σε ευχαριστώ πολύ..! Γιωργος |
|
#4
| |||
| |||
|
Τασο Δεν του αρεσει το Isopen.. Γιατί?
|
|
#5
|
|
Το MyFormName.... μου ξέφυγε!!
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word |
|
#6
| |||
| |||
|
Τασο πρεπει να του λειπει βιβλιοθηκη μαλλον γι αυτο ισος δεν του αρεσει...! δεν το βρισκω στον κωδικα καθολου..
|
|
#7
| |||
| |||
|
για το isOpen λεω..
|
|
#8
|
|
Δες ένα παράδειγμα στο συνημμένο. Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word |
|
#9
| |||
| |||
|
Ok..! Τασο.. το ειχα περασει μπακαλιστικα..!!
|
|
#10
| ||||
| ||||
|
Καλησπέρα στη παρέα! Ορίστε μερικές γρήγορες και σχετικές συναρτησούλες κι από μένα: Κώδικας: Function LastForm() As String
'Το όνομα της τελευταίας φόρμας που άνοιξε.
On Error Resume Next
LastForm = Forms(Forms.Count - 1).Name
End Function
Function FirstForm() As String
'Το όνομα της πρώτης φόρμας που άνοιξε.
On Error Resume Next
FirstForm = Forms(0).Name
End Function
Function IsOpenForm(ByVal strFormName As String) As Boolean
'Έλεγχος αν μια φόρμα με όνομα strFormName είναι ανοιχτή.
On Error Resume Next
IsOpenForm = Len(Forms(strFormName).Name) > 0
End Function
Function FormCurrView(ByVal strFormName As String) As AcCurrentView
'Η προβολή μιας ανοιχτής φόρμας με όνομα strFormName.
On Error Resume Next
FormCurrView = Forms(strFormName).CurrentView
End Function
Function FormHWnd(ByVal strFormName As String) As Long
'Ο χειριστής παραθύρου μιας ανοιχτής φόρμας με όνομα strFormName.
On Error Resume Next
FormHWnd = Forms(strFormName).Hwnd
End Function
Κώδικας: Sub Test()
Dim strMsg As String
Select Case FormCurrView(LastForm)
Case acCurViewFormBrowse
strMsg = " form view."
Case acCurViewDatasheet
strMsg = " datasheet view."
Case acCurViewPivotChart
strMsg = " pivot chart view."
Case acCurViewPivotTable
strMsg = " pivot table view."
Case Else
End Select
If Len(strMsg) Then
MsgBox LastForm & " is open in " & strMsg, vbInformation
Else
MsgBox "There are no open forms!", vbExclamation
End If
End Sub
![]() Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ![]() ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
![]() |
| Ετικέτες |
| access, vba, συναρτήσεις, φόρμες |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
Η ώρα είναι 12:11.






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