/
Forside
/
Teknologi
/
Administrative
/
MS-Office
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
MS-Office
#
Navn
Point
1
sion
18709
2
refi
14474
3
Klaudi
9389
4
Rosco40
5695
5
berpox
5456
6
dk
5398
7
webnoob
4919
8
Benjamin...
4870
9
o.v.n.
4637
10
EXTERMINA..
4373
Macro i Outlook 2007
Fra :
LHT
Dato :
08-02-10 11:37
Hej
Jeg har lavet en macro som checker for ordet "privat" i subject for alle
aftaler i kalenderen og herefter sørger for, at aftalerne markeres som
private.
Koden køres ved opstart af Outlook og checker hvert 5. sek.
Koden virker fint, bortset fra at når jeg f.eks. skifter til mail-visning og
klikker på en folder, så tager det utrolig lang tid før visningen opdateres.
Hvordan kan jeg forbedre min kode, som ses herunder?
Hvordan kan jeg evt. få Outlook til at køre en makro ved faste
tidsintervaller istedet for at have en makro - som kører konstant som her -
til at styre det?
Dim WithEvents mcolCalItems As Items
Dim LastRun As Variant
Private Sub Application_Startup()
Dim objNS As NameSpace
Set objNS = Application.GetNamespace("MAPI")
Set mcolCalItems = objNS.GetDefaultFolder(olFolderCalendar).Items
Set objNS = Nothing
'Application.StopMyVBA
CheckAppointmentForPrivateAndBirthdays
LastRun = Now
Check = True
While Check = True
DoEvents
lRun = TimeValue(LastRun)
TrigInt = TimeValue("00:00:05")
TrigTime = lRun + TrigInt
TimeNow = TimeValue(Now)
If TrigTime < TimeNow Then
CheckAppointmentForPrivateAndBirthdays
LastRun = Now
End If
Wend
End Sub
Sub CheckAppointmentForPrivateAndBirthdays()
For Each Item In mcolCalItems
DoEvents
If Item.Class = olAppointment Then
'Privat aftale:
If InStr(Item.Subject, "privat") > 0 And Item.Sensitivity =
olNormal Then
With Item
.Sensitivity = olPrivate
.Save
End With
End If
'Privat fødselsdag:
If (Item.Duration <= 1 And Item.Sensitivity = olNormal) Or
(Item.Duration <= 1 And Item.Categories <> "") Then
subjct = Item.Subject
With Item
.Sensitivity = olPrivate
.Categories = ""
.Save
End With
End If
End If
Next Item
End Sub
Søg
Alle emner
Teknologi
Administrative
MS-Office
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408914
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.