Avatar billede nph12 Nybegynder
07. august 2006 - 19:59 Der er 8 kommentarer og
1 løsning

VBA: Fejl i HentAftaler()

Hej
Jeg sidder med bogen, Pamela Palmer - Word 2000 Programmering med VBA og er ved at lave eksempel 21.2, HentAftaler på side 339. VBA'en henter aftaler fra Outlook.

Jeg har selv Office 2003. Når jeg kører VBA'en viser debug'en, at der er fejl i "Set objKalendermapper = objNameSpace.GetDefaultFolder(olFolderCalender)". Hvordan får jeg det til at køre? Hvad skal jeg rette?


Sub HentAftaler()
'Hente datoer til behandling
    Dim IMåned As Variant, IÅr As Variant, strDato As String
    Dim dtFørste As Date, dtSidste As Date
    IMåned = Month(Now())
    IÅr = Year(Now())
    strDato = "01-" & IMåned & "-" & IÅr
    dtFørste = CDate(strDato)
    dtSidste = DateAdd("m", 1, dtFørste) - 1
'Hent Outlook-aftaler og opbyg liste
    Dim objOutlook As Outlook.Application, objNameSpace As NameSpace
    Dim objKalendermapper As MAPIFolder, objAftaler As AppointmentItem
    Dim sngVarighed As Single, strVarighed As String
    Set objOutlook = CreateObject("Outlook.Application")
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objKalendermapper = objNameSpace.GetDefaultFolder(olFolderCalender)
    For Each objAftaler In objKalendermapper.Items
        If objAftaler.Start >= dtFørste And _
        objAftaler.Start <= dtSidste Then
        Selection.TypeText objAftaler.Subject
        Selection.TypeParagraph
        Selection.TypeText "Start: " & vbTab
        Selection.TypeText objAftaler.Start
        Selection.TypeText vbTab
        Selection.TypeText "Slut: " & vbTab
        Selection.TypeText objAftaler.End
        Selection.TypeParagraph
        sngVarighed = Int(objAftaler.Duration / 60)
        If objAftaler.Duration - sngVarighed * 60 > 0 Then
            strVarighed = sngVarighed & "Timer, " & _
            objAftaler.Duration - sngVarighed * 60 & _
                "Minutter"
            Else
                strVarighed = sngVarighed & "Timer"
            End If
            Selection.TypeText "Forventet Varighed: " & vbTab
            Selection.TypeText strVarighed
            Selection.TypeParagraph
            Selection.TypeText "Kommentar: " & vbTab
            Selection.TypeText objAftaler.Body
            Selection.TypeParagraph
            Selection.TypeParagraph
        End If
    Next
   
End Sub
Avatar billede supertekst Ekspert
08. august 2006 - 09:14 #1
Er der sat reference til Microsoft Outlook 11.0 Object Library?
Avatar billede nph12 Nybegynder
08. august 2006 - 10:03 #2
Ja, men det er lige som den glemmer det. Jeg har sat den til, men når jeg så kører vba´en og får fejlen, så er reference til Microsoft Outlook 11.0 Object Library ikke sat. Jeg er lige startet på vba, så det er sikkert mig der har gjort noget forkert.

Hvordan sætter jeg reference til Microsoft Outlook 11.0 Object Library, så den bliver?
Avatar billede supertekst Ekspert
08. august 2006 - 10:37 #3
Gå ind i VBA fra Worddok. Alt+F11 / VBA-vinduet vises / Tools / References /
Find Microsoft Outlook 11.0 Obj. Lib. / Sæt flueben / OK /
Gem ved hjælp af Gemknappen øverst i venstre side.
Avatar billede nph12 Nybegynder
08. august 2006 - 11:01 #4
OK. Nu er reference til Microsoft Outlook 11.0 Object Library gemt, men jeg får stadigvæk fejl i vba. Fejlmeddelelsen lyder sådan:

Run-time error '-1559822249(a3070057)':

Handlingen kunne ikke fuldføres. En eller flere parameterværdier er ikke gyldige.
Avatar billede supertekst Ekspert
08. august 2006 - 11:07 #5
Ok - så langt - så godt - jeg afprøver din kode og vender tilbage...
Avatar billede supertekst Ekspert
08. august 2006 - 11:25 #6
Set objKalendermapper = objNameSpace.GetDefaultFolder(olFolderCalender)
rettes til:
Set objKalendermapper = objNameSpace.GetDefaultFolder(olFolderCalendar)
...................................................................d^r
Avatar billede supertekst Ekspert
08. august 2006 - 11:28 #7
Du kan forhåbentlig se meningen: OlFolderCalender->OlFolderCalendar
Avatar billede nph12 Nybegynder
08. august 2006 - 11:47 #8
Super. Mange tak for hjælpen.
Avatar billede supertekst Ekspert
08. august 2006 - 11:48 #9
Selv tak!
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
Tag et kursus i Word og øg effektiviteten

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