Avatar billede Jepperdepper Nybegynder
10. februar 2011 - 09:41

Kalenderaftaler i Excel -> Outlook Calendar via macro (VBA)

Hej!

Jeg har et Excel-dokument hvori jeg har en række aftaler om arbejde der skal udføres i firmaet. Disse aftaler er årlige service-aftaler. Jeg vil derfor gerne have dem ind i Outlook kalender ved et klik på en macro.

Jeg har søgt på nettet efter lidt kode, og jeg har da også fundet noget der virker perfekt, men jeg har lidt flere krav, så det er tilpasset min situation bedre. Problemet er bare, at jeg intet ved om VBA, og selvom de små ændringer sikkert er simple, så kan jeg derfor ikke gennemskue det.


Her er koden jeg fandt på dette link: http://www.google.com/support/forum/p/Calendar/thread?tid=5e4909ca64cffe90&hl=en - Credit går til brugeren "tpuiatti".

Sub Generate_ICS()
    Dim rng1 As Range, X, i As Long, v As Long
    Dim objFSO, objFile
    Dim FilePath As String
    FilePath = "G:\Service.ics"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.CreateTextFile(FilePath)
    Set rng1 = Range([a5], Cells(Rows.Count, "B").End(xlUp))
    X = rng1

    objFile.write "BEGIN:VCALENDAR" & vbCrLf
    For i = 1 To UBound(X, 1)
        objFile.write "BEGIN:VEVENT" & vbCrLf & "DTSTART:" & Format(X(i, 2), "yyyymmdd") & vbCrLf & "DTEND:" & Format(X(i, 2), "yyyymmdd") & vbCrLf & "RRULE:FREQ=YEARLY" & _
                      vbCrLf & "SUMMARY:" & X(i, 1) & vbCrLf & "END:VEVENT" & vbCrLf
    Next i
    objFile.write "END:VCALENDAR"
End Sub


Grunden til at der eksporteres til .ics er, at det understøtter gentagne aftaler i Outlook Calendar, og mine aftaler gentages netop årligt. Men ovenstående virker perfekt. Jeg har bare lidt tilføjelser, som jeg håber i kender koden til:

1. - Ovenstående tager datoinformation fra kolonne B. Jeg vil have det til at tage data fra kolonne H i stedet.
2. - Aftalerne skal være "heldagsaftaler". Dvs. ikke noget start og slut tidspunkt.
3. - Jeg ønsker at have en reminder på 1 uge før til hver aftale
4. - Jeg ønsker at placere alle aftaler i en kategori (dette er dog ikke så vigtigt)
5. - Jeg har brug for at macroen også tager "location information" fra kolonne B samt beskrivelse (normal body tekst) fra kolonne D og E.

Jeg nævner kolonner og ikke celler, da macroen automatisk skal tage alt fremtidig data. Der kommer nemlig løbende nye aftaler.


Jeg benytter Excel/Oulook 2007.

Jeg håber jeg fik det forklaret på en let forståelig måde, ellers er i velkomne til at spørge løs!


På forhånd tak!

Mvh
Jeppe C.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester