10. oktober 2007 - 21:46Der er
8 kommentarer og 1 løsning
Gentaende begivenheder med en 15/27 roation
Jeg mangler en markroder a via en userform kan oprette en aftale "abejde" min arbejds rotation er 15 dage på, og 27dage fri. Jeg ska kunne indtaste en dato for udejse og så skal den "makere" det ca. 2år frem. Det er til outlook 2003
Ser ok ud. Er der mulighed for at man selv kan døbe dem f.eks. Jacob. Det er fordi, jeg gerne vil kunne lægge flere ind i samme kalender, da min bror også laver det samme. ville så gerne kunne lave det så der kan laves fleter serier i outlook. Er det nøvendigt der står "fri" de dage jeg ikke er ude?
Undskyld, har bare 1000 ting i gang, privat.. Den ser da super ud.. Lige et par Q Kan jeg ikke lave den som et add i outlook? Kan man lave det som en serie, så når man nu har "glemt" datoen for indtastning, og skifter crew så "bare" kan slette serien?
Rem Afsæt arbejdsperioden For d = startDato To slutDato emne = Me.TextBox2 antalDage = 15
For f = 1 To antalDage opretAftaler d, emne d = DateAdd("d", 1, d) Next f
Rem ryk 27 dage fremtil næste arbejdsperiode d = DateAdd("d", 27, d) Next d
System.Cursor = wdCursorNormal
MsgBox (CStr(antalOprettet) + " aftaler er oprettet")
Unload UserForm1 End Sub Private Sub CommandButton2_Click() Unload UserForm1 End Sub Private Sub CommandButton3_Click() sletFlag = True sletaftaler Me.TextBox2 Unload UserForm1 End Sub Private Sub TextBox1_Change() If Me.TextBox1 <> "" And IsDate(Me.TextBox1) = True And Len(Me.TextBox1) = 8 And Me.TextBox2 <> "" Then Me.CommandButton1.Enabled = True Me.CommandButton3.Enabled = True Me.CommandButton1.SetFocus Else Me.CommandButton1.Enabled = False End If End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.TextBox2 <> "" And Me.TextBox1 <> "" And IsDate(Me.TextBox1) = True And Len(Me.TextBox1) = 8 Then Me.CommandButton1.Enabled = True Me.CommandButton3.Enabled = True Me.CommandButton1.SetFocus Else Me.CommandButton1.Enabled = False ' Me.CommandButton3.Enabled = False End If End Sub Private Sub opretAftaler(dato, emne) Dim olApp, Namespace, myCalendar, aftale Set olApp = CreateObject("Outlook.Application") Set Namespace = olApp.GetNamespace("MAPI")
antalOprettet = antalOprettet + 1 End Sub Private Sub sletaftaler(emne) Dim olApp, myCal, myItem, Namespace, antal, antalSlettede
Set olApp = CreateObject("Outlook.Application") Set Namespace = olApp.GetNamespace("MAPI") Set myCal = Namespace.GetDefaultFolder(olFolderCalendar)
antalSlettede = 0
antal = myCal.Items.Count
For f = antal To 1 Step -1 If InStr(LCase(myCal.Items(f).Subject), LCase(emne)) > 0 Then t = myCal.Items(f).Subject myCal.Items(f).Delete antalSlettede = antalSlettede + 1 End If Next
MsgBox (CStr(antalSlettede) + " aftaler vedr.: " + emne + " er slettet") Me.TextBox2 = "" End Sub Private Sub UserForm_activate()
End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.