Εμφάνιση ενός μόνο μηνύματος
  #11  
Παλιά 07-10-13, 12:06
alex Ο χρήστης alex δεν είναι συνδεδεμένος
Όνομα: Αλέξανδρος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2010
Περιοχή: ΑΡΤΑ
Μηνύματα: 521
Προεπιλογή

Καλημέρα στη παρέα!
Καλημέρα σε όλους τους φίλους του Forum.
Στο παρακάτω και στοιχισμένο κώδικα έχω φθάσει προγραμματιστικά και με την βοήθεια του Νίκου να δουλεύει το module εκτός από 2 γραμμές κώδικα που δεν κατάφερα που είναι σημειωμένες με κόκκινο.
Το module εντοπίζει τις αργίες και δεν ενημερώνει με μήνυμα όπως και αυτό θέλουμε.
Εντοπίζει τα σαββατοκύριακα και δεν ενημερώνει με μήνυμα όπως και πάλι θέλουμε .
Ενημερώνει κάθε 1 και 15 όπως και θέλουμε.
Το έχω δοκιμάσει τρέχοντας τον κώδικα αλλά "Σκάλωσα"στα κόκκινα.
Μπορεί να το δοκιμάσει κάποιο έμπειρο μέλος το module : BasExecSurveyDays έστω να μου πει τι να κάνω;Πρέπει όμως να τρέξει το κώδικα step by step και σύμφωνα με την ημερομηνία του Η/Υ να δει την διαδρομή μέχρι τα κόκκινα.Στα κόκκινα δίνεται επεξήγηση το τι κάνει και τι πρέπει να γίνει.
Παραθέτω τον κώδικα σε συνημμένο αφού κατέβαλα μεγάλες προσπάθειες.

Κώδικας:
Public Sub sShowSurveyDays()
'Η ρουτίνα που εμφανίζει το σύστημα καταγραφής των στοιχείων
    Dim ie As Object
    Dim TmpName As String
    Dim StartDate As Date
    Dim xDate As Date
    Dim EndDate As Date
    Dim CountOfWDays As Integer
    Dim x As Integer
    Dim KiriakiTouPasxa As Date
    Dim Response As Integer
    Dim theDate As Date
    If Month(Date) = 7 Or Month(Date) = 8 Then Exit Sub       'Διώχνει Ιούλιο και Αύγουστο
    x = 1
    For xDate = StartDate To EndDate
        If Weekday(Date, vbSunday) Then
            If Not IsHoliday(Date) Then
                CountOfWDays = CountOfWDays + 1
            Else
                If IsHoliday(Date) Then
                    HolidaysCount = HolidaysCount + 1
                End If
            End If
        End If
    Next
    Select Case DatePart("w", Date)

    Case Is = 1              'Κυριακή
        x = x + 1
    Case Is = 7              'Σαββάτο
        x = x + 2
    Case Is = 2              'Δευτέρα
        x = x
    Case Is = 3              'Τρίτη
        x = x
    Case Is = 4              'Τετάρτη
        x = x
    Case Is = 5              'Πέμπτη
        x = x
    Case Is = 6              'Παρασκευή
        x = x
    End Select

    If IsHoliday(Date) Then
        HolidaysCount = HolidaysCount + 1
    Else
'Εδώ στην σύνταξη  για την KiriakiTouPasxa δεν γνωρίζω πώς πρέπει να το συντάξω.
        ' KiriakiTouPasxa = Day(Date)         'Θέλω να μου δίνει την επόμενη μέρα από την KiriakiTouPasxa για να μου ανοίγει το μήνυμα
        If Day(Date) = KiriakiTouPasxa + 1 Then
            'Else
            If Day(Date) = x Or Day(Date) = 14 + x Then    ' Εδώ δουλεύει η ημερομηνία εάν δεν είναι Σ/Κ κάθε 1 και 15 να ανοίξει το μήνυμα
                'Else
                'If Day(Date) = DateSerial(Etos, 1, 8) Then    'Θέλω να μου ανοίξει το μήνυμα κάθε 8 του Γενάρη.

                Response = MsgBox("ΚΑΛΗΜΕΡΑ ΣΗΜΕΡΑ ΠΡΕΠΕΙ ΝΑ ΕΝΗΜΕΡΩΣΕΤΕ ΤΟ ΣΥΣΤΗΜΑ ΚΑΤΑΓΡΑΦΗΣ Α/ΘΜΙΑΣ & Β/ΘΜΙΑΣ ΕΚ/ΠΣΗΣ : " & TmpName _
                                & vbNewLine & "ΣΥΝΔΕΘΕΙΤΕ ΣΤΟ INTERNET. ", vbYesNo + vbDefaultButton1, " ΕΝΗΜΕΡΩΣΗ TOY SURVEY ")

                If Response = vbYes Then

                    Set ie = CreateObject("InternetExplorer.Application")

                    ie.Navigate2 "http://survey.sch.gr/"

                    ie.Visible = True
                End If
            End If
        End If
    End If
    ' End If
End Sub
Συνημμένα Αρχεία
Τύπος Αρχείου: zip New_Survey.zip (12,4 KB, 2 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη alex : 08-10-13 στις 04:21.
Απάντηση με παράθεση