greeenn
Goto Top

VBS, ersten Tag der Woche finden

Hallo,

ich brauche Hilfe bei einem Programm bei dem eine Vierstellige Zahl eingegeben wird, Beispielsweise "2108"

Dabei steht "21" für das Jahr und "08" für die Kalenderwoche.

Nun möchte ich das Datum des jeweiligen Montags der Kalenderwoche ausgeben.

Sprich "2108" wird an die Funktion übergeben, und als Ausgabe kommt: "22.02.2021" was das Datum des Montags aus der KW 08 ist.

Das ganze soll in VBS umgesetzt werden.

Vielen Dank schonmal im Voraus!

Content-ID: 661664

Url: https://administrator.de/contentid/661664

Ausgedruckt am: 23.11.2024 um 15:11 Uhr

Doskias
Doskias 11.03.2021 aktualisiert um 11:57:24 Uhr
Goto Top
Hallo GreeeNn.

sicher wirst du jemanden hier finden der dir das schreibt. Aber Sinn des Forums ist es eigentlich dir bei einem Problem zu helfen und nicht deine Arbeit zu machen. Davon abgesehen möchtest du ein VBS Skript, hast aber VB for Applications ausgewählt. Das solltest du vielleicht auch noch mal korrigieren.

Wie gesagt: Ich helfe dir gerne, aber ich mache nicht deine Arbeit. Poste den Code den du hast und der nicht funktioniert mit einer Fehlerbeschreibung hier und dir wird sicherlich geholfen werden.

Ach und bitte sorgfältiger arbeiten als du hier schreibst. Im Titel steht letzten Tag der Woche, im Text willst du dann den jeweiligen Montag finden.

Gruß
Doskias
147669
Lösung 147669 11.03.2021 aktualisiert um 13:00:17 Uhr
Goto Top
Hier mal was für dich zum Basteln.
Function GetMondayOfKW(kalenderwoche, jahr)
    GetMondayOfKW = DateSerial(CInt(jahr), 1, (7 * CInt(kalenderwoche)) - 3 - (Weekday(DateSerial(CInt(jahr), 0, 0), vbMonday) - 1))
End Function
Set regex = CreateObject("vbscript.regexp")  
regex.Pattern = "^\d{2}(0[1-9]|[1-4][0-9]|5[0-3])$"  
Do 
    str = InputBox("Bitte Jahr und KW eingeben [yykw]","Eingabe","2108")  
    If str = False Then WScript.Quit
    If Not regex.Test(str) Then
        MsgBox "Eingabe fehlerhaft, bitte Eingabe wiederholen!", vbExclamation  
    End If
Loop Until regex.Test(str)
MsgBox GetMondayOfKW(Right(str,2), "20" & Left(str,2))  
Gruß SK
GreeeNn
GreeeNn 11.03.2021 um 12:08:18 Uhr
Goto Top
Hi Doskias!

Danke für deinen Kommentar, ich hab noch kein Code gepostet weil noch nicht wirklich einer vorhanden ist.
Ich hab ein bisschen mit der Weekday Funktion rumprobiert, das hat mich aber leider nicht zu gewünschten Lösung gebracht.

Ich suche nicht nach jemandem der mir den Code komplett schreibt, sondern nach Hilfe und Lösungsansätzen.

Hast du eine Idee wie ich das umsetzten könnte?

Gruß
GreeeNn
erikro
erikro 11.03.2021 um 12:08:21 Uhr
Goto Top
GreeeNn
GreeeNn 11.03.2021 um 12:09:48 Uhr
Goto Top
Hallo SchmitzKatz,

danke, ich versuchs damit mal!