VBA: Fejl i HentAftaler()
HejJeg 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