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-Key: 661664

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

Printed on: April 26, 2024 at 08:04 o'clock

Member: Doskias
Doskias Mar 11, 2021 updated at 10:57:24 (UTC)
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
Mitglied: 147669
Solution 147669 Mar 11, 2021 updated at 12:00:17 (UTC)
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
Member: GreeeNn
GreeeNn Mar 11, 2021 at 11:08:18 (UTC)
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
Member: erikro
erikro Mar 11, 2021 at 11:08:21 (UTC)
Goto Top
Member: GreeeNn
GreeeNn Mar 11, 2021 at 11:09:48 (UTC)
Goto Top
Hallo SchmitzKatz,

danke, ich versuchs damit mal!