Pytania, problemy, uwagi związane ze starszymi wersjami Microsoft Outlook 2003, 2002 (XP), 2000, 98
Moderator: Moderatorzy
przez OShon » Cz 15.02.2007 22:25
Witaj Michu
Chodzi mi o to jaką procedurą da się usunąć pocztę czy kontakt, tak aby nie pojawił się on w Koszu lub z tego koszta bez komunikatu potwierdzającego go usunąć.
Pytam bo łatwiej mi zapisać nowy kontakt (dzięki informacji odebranych z XMLa) a poprzednika o takim samym kluczu w całości skasować (umieszczając w koszu), niż szukać różnic aby zamienić dane, w którym miejscu nastąpiła zmiana tego kontaktu, spotkania czy wiadomości.
-
OShon
-
- Posty: 10985
- Dołączył(a): Cz 19.10.2006 08:31
- Lokalizacja: Projekt autorski VBATools.pl
-
przez michu » Pt 16.02.2007 10:44
Chodzi mi o to jaką procedurą da się usunąć pocztę czy kontakt, tak aby nie pojawił się on w Koszu lub z tego koszta bez komunikatu potwierdzającego go usunąć.
Z tego co wiem, to nie ma takiej możliwości. Jeśli usuwasz element przez Outlook API, to zawsze pojawia się w koszu.
Pozdrawiam
Michu
-
michu
-
- Posty: 4190
- Dołączył(a): N 05.02.2006 17:49
- Lokalizacja: Jelenia Góra
-
przez Shon Oskar » Pt 16.02.2007 11:06
No to może jest procedurka usunięcia zawartości kosza
(na kształt: "Opróżnij folder Elementy usunięte")
O'Shon
-
Shon Oskar
-
- Posty: 182
- Dołączył(a): Pn 16.10.2006 09:05
- Lokalizacja: Veracomp S.A.
-
przez michu » Pt 16.02.2007 11:23
Żeby opróżnić folder DeletedItems, musisz usuwać pojedynczo każdą wiadomość:
- Kod: Zaznacz cały
Set objDelItemsFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
Set objItems = objDelItemsFolder.Items
For intX = objItems.Count To 1 Step -1
Set objItem = objItems.Item(intX)
'Permanently delete
objItem.Delete
Next
Pozdrawiam
Michu
-
michu
-
- Posty: 4190
- Dołączył(a): N 05.02.2006 17:49
- Lokalizacja: Jelenia Góra
-
przez Shon Oskar » Śr 21.03.2007 15:30
Michu a jak wsadzić do tego
aby procedura kasowała tylko wiadomości z wypełnionym polem
.BillingInformation <> ""
O'Shon
-
Shon Oskar
-
- Posty: 182
- Dołączył(a): Pn 16.10.2006 09:05
- Lokalizacja: Veracomp S.A.
-
przez michu » Śr 21.03.2007 17:50
Najprościej chyba tak:
- Kod: Zaznacz cały
On Error Resume Next
Set objDelItemsFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
Set objItems = objDelItemsFolder.Items
For intX = objItems.Count To 1 Step -1
Set objItem = objItems.Item(intX)
If objItem.BillingInformation <> "" Then
'Permanently delete
objItem.Delete
End If
Next
Ale nie testowałem. On Error Resume Next może być tutaj ważne bo niektóre elementy mogą nie mieć właściwości BillingInformation.
Pozdrawiam
Michu
-
michu
-
- Posty: 4190
- Dołączył(a): N 05.02.2006 17:49
- Lokalizacja: Jelenia Góra
-
przez Shon Oskar » Cz 22.03.2007 10:16
Działa działa - coś mnie zaćmiło i nie zauważyłem że
Set objItems odnosi cię do Items
bardzo dziękuje ;]
O'Shon
-
Shon Oskar
-
- Posty: 182
- Dołączył(a): Pn 16.10.2006 09:05
- Lokalizacja: Veracomp S.A.
-
Powrót do Microsoft Outlook
Kto przegląda forum
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości