24. juli 2004 - 17:49Der er
7 kommentarer og 1 løsning
Oprette aftale via script
Kan man oprette en aftale i Outlook via f.eks. VBscript? I så fald hvordan.
Jeg opretter f.eks. en del aftaler der går fra fredag kl. 17.00 til lørdag kl. 07.00 og hvis jeg nu kunne lave et script der bare promptede mig for en dato, så var det lidt nemmere end i OutLook synes jeg. Det skal selvfølgelig være muligt at angive subject og location også, men da det er fast hver gang så skal det bare ligge som faste tekster i scriptet.
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Slettet bruger
25. juli 2004 - 20:21#1
Du kan lave en appointment form, så du bare skal vælge denne under menuen actions.
Vælg Tools - forms - design a form Vælg appointment - open Skriv i subject og location hvad der skal stå samt tidspunktet vælg Tools - forms - publish form as du kan nu vælge at publisere den i forms personal library eller i en af dine andre mapper. Vælger du personal library, kan du vælge formularen under tools - forms choose form (og vælge det sted du har lagt den). Vælger du en mappe, får du mulighed for at vælge formularen når du står i denne mappe og vælger Action - nederst vil din formular ligge og hedde new....og det navn du giver den.
Det var ikke lige det jeg var på jagt efter. Jeg får nogle vagter tilsendt som et regneark og så ville jeg jo gerne kunne oprette dem i OutLook på en nem måde. Standard for dem er at de starter kl. 17.00 og løber til næste dag kl. 07.00 Jeg ville så gerne og jeg kunne få dem ind i OutLook med et fast subject og location + at der skal remindes 2 timer før. Hvis det kan laves fra Excel, er det også en mulighed - jeg skal nok få fat på data i det tilsendte ark. Det er jo bare lidt VBA kodning, så funker det.
Jeg har nu følgende funktion som virker efter hensigten. Dog kan jeg ikke checke om der eksisterer en aftale i det tidsrum som den nye aftale dækker. Det vil jeg gerne kunne da den nye aftale jo så ikke skal oprettes.
Public Function fhpAppointments_OutLook_Create(datDate As Date, strLocation As String, strSubject As String, intDuration As Integer) As Integer ' ----------------------------------------------------------------------------------- ' Purpose : Opret aftale i OutLook kalender ' Parameters : ' Returns : Integer ' Created : 07-26-04 ' Modified : ' Remarks : ' ----------------------------------------------------------------------------------- On Error GoTo Error_fhpAppointments_OutLook_Create Dim strMsg As String Dim olApp As Outlook.Application Set olApp = CreateObject("Outlook.Application")
' Logon. Doesn't hurt if you are already running and logged on... Dim olNs As Outlook.NameSpace Set olNs = olApp.GetNamespace("MAPI") olNs.Logon
' Create a new appointment. Dim olAppt As Outlook.AppointmentItem Set olAppt = olApp.CreateItem(olAppointmentItem)
strMsg = "Aftalen den " & datDate & " konflikter med en eksisterende aftale." & vbCrLf & _ "Den oprettes derfor ikke i OutLook kalenderen"
' Setup other appointment information... With olAppt .Start = datDate .Location = strLocation .Subject = strSubject .Body = strSubject .Duration = intDuration * 60 .ReminderMinutesBeforeStart = conReminder .ReminderSet = True .BusyStatus = olBusy End With
' Save Appointment... olAppt.Save
' Clean up... olNs.Logoff Set olNs = Nothing Set olAppt = Nothing Set olApp = Nothing
Exit_fhpAppointments_OutLook_Create: Exit Function
Error_fhpAppointments_OutLook_Create: fhpAppointments_OutLook_Create = Err.Number Select Case Err.Number Case 2501 Case 3021 Case Is < 0 Case Else MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpAppointments_OutLook_Create'" End Select Resume Exit_fhpAppointments_OutLook_Create
End Function
Synes godt om
Slettet bruger
26. juli 2004 - 22:30#5
Jeg har endnu engang støvet mine bøger igennem for at finde et eller andet om conflicting appointment, men der er absolut ingen kodestump, der tjekker på om der allerede er en aftale. Jeg har også en del formulareksempler med kode, og heller ikke her fandt jeg noget brugeligt. Beklager....... Kom desværre aldrig rigtigt igang selv med vbscript og Outlook, selv om bøgerne blev indkøbt : -(
Efter lang konversation med en ukrainer, er følgende funktion fremstillet til det brug - og det ser ud til at fungere.
Public Function fhpAppointments_Is_Time_Free(datStart As Date, datEnd As Date) As Boolean ' ----------------------------------------------------------------------------------- ' Purpose : Check in Outlook calender if time is occupied ' Parameters : ' Returns : Boolean ' Created : 08-10-04 ' Modified : ' Remarks : ' ----------------------------------------------------------------------------------- On Error GoTo Error_fhpAppointments_Is_Time_Free Dim olApp As Outlook.Application Dim objAppointment As AppointmentItem Dim objAppointments As MAPIFolder Dim objNameSpace As NameSpace Dim bolTimeFree As Boolean Dim strStart As String Dim strEnd As String
Set olApp = CreateObject("Outlook.Application") Set objNameSpace = olApp.GetNamespace("MAPI") Set objAppointments = objNameSpace.GetDefaultFolder(olFolderCalendar) strStart = Format(datStart, "ddddd h:nn AMPM") strEnd = Format(datEnd, "ddddd h:nn AMPM")
Set objAppointment = objAppointments.Items.Find("([Start] >= """ & strStart & """ and [Start] <= """ & strEnd & _ """) or ([End] >= """ & strStart & """ and [End] <= """ & strEnd & _ """) or ([Start] <= """ & strStart & """ and [End] >= """ & strEnd & """)")
If TypeName(objAppointment) = "Nothing" Then bolTimeFree = True Else bolTimeFree = False End If
Exit_fhpAppointments_Is_Time_Free: Set olApp = Nothing Set objNameSpace = Nothing Set objAppointments = Nothing fhpAppointments_Is_Time_Free = bolTimeFree Exit Function
Error_fhpAppointments_Is_Time_Free: fhpAppointments_Is_Time_Free = Err.Number Select Case Err.Number Case 2501 Case 3021 Case Is < 0 Case Else MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpAppointments_Is_Time_Free'" End Select Resume Exit_fhpAppointments_Is_Time_Free
Jeg ser mig nødsaget til at lukke spørgsmålet og da resultatet kom fra Ukraine, er det vel mest korrekt at undlade pointtildeling.
Synes godt om
Slettet bruger
12. august 2004 - 19:47#8
Det er bare helt o.k. Det vigtigste er, at du fik løst dit problem
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.