Lotus Notes / Domino Sonstiges > OLE/COM-Programmierung

VBA & Lotus Notes - Mails durchsuchen

(1/2) > >>

Scrabby:
Hallo,
ich habe folgendes Problem, ich muss mittels VBA auf eine Lotus Notes Datenbank zugreifen und in einem Postfach alle Mails nach einem bestimmten String durchsuchen. Leider hab ich es bisher nur geschafft den Betreff zu durchsucehn, nicht jedoch den MailBody, also eine Suche die der Lupe in Notes entspricht. hat jemand eine Idee wie ich mein Code anpassen muss, vermutlich im unterstrichenen Teil?

Function Test()

Dim strMailFile As String
Dim strMailServer As String
Dim Selection As String
Dim isin As String
Dim k As Integer


Dim session As Object
Set session = CreateObject("Notes.NotesSession")


Dim pm As Object
strMailFile = "YYY.nsf"
strMailServer = "XXX"
Set pm = session.GETDATABASE(strMailServer, strMailFile)

If Not pm.IsOpen Then pm.OPENMAIL

' MsgBox pm.Title, , "Title of PM"

For i = 4 To Cells(65536, 1).End(xlUp).Row

text = Cells(i, 1)
text = """" & text & """"
Cells(i, 2).Activate

Dim dc As Object
Selection = "@Contains( Subject;" & text & " )"
Set dc = pm.Search(Selection, Nothing, 0)
Dim doc As Object
Set doc = dc.GETLASTDOCUMENT

Dim subj As Variant
Dim times As Variant


While Not (doc Is Nothing)
subj = doc.GETITEMVALUE("From")
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = subj(0)
subj = doc.GETITEMVALUE("PostedDate")
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = subj(0)
Set doc = dc.GETPREVDOCUMENT(doc)
Wend

Next i

Set pm = Nothing

MsgBox ("Fertig!")


End Function

Peter Klett:
Set dc = pm.FTSearch("Suchstring", Nothing, 0)

Das ist dann eine Volltextsuche nach dem Suchstring. Bei nichtindizierten Datenbanken werden aber nur max. 5.000 Dokumente durchsucht.

Lotusblatt:
Hallo ,

ich bin absoluter Neuling in Lotus Notes. Ich verwende Lotus Notes Version 6.5 und habe ein ähnliches Problem wie von Scrabby geschildert. Verstanden habe ich folgendes: Verwende ich
Set dc = pm.Search(Selection, Nothing, 0) in der Programmierung von Scrabby dann suche ich in einer Excel-Tabelle in Spalte A per VBA nach dem Absender. Ich bekomme auch Treffer angezeigt z.B. in Spalte C: CN=Daniel Buhrer/OU=SOMMER/O=HER und in Spalte D: 04.10.2010 11:48
Seltsamerweise bekomme ich bei manchen Namen nur die Spalte C gefüllt aber nicht D, bei manchen gar keine Spalte C und D und wiederum bei manchen die Spalte C und E mit demselben Inhalt
Verwende ich
Set dc = pm.FTSearch(Selection, Nothing, 0) könnte ich in der Excel Tabelle in Spalte B auch noch nach dem Betreff suchen. Lieg´ich damit richtig ? Leider bekomme ich bei Benutzung des Codes mit dieser Zeile die Fehlermeldung "Typen unverträglich".
Nun bekomme ich sehr häufíg Mails eines Klienten mit immer demselben Betreff. Leider listet der ursprüngliche Code nur die letzte Mail auf in der Excel Tabelle auf, nicht alle Mails diese Klienten. Zusätzlich möchte ich alle Mails eines Klienten per Button in einer VBA-Programmierung in Excel mittels eines CommandButtons löschen. Wer ist so nett und kann mir weiterhelfen?

Peter Klett:
Mit pm.Search suchst Du aber nicht in der Exceltabelle, sondern in einer Notesdatenbank.

Kannst Du versuchen, Dein Vorhaben etwas genauer darzustellen? Ich glaube, verstanden zu haben, dass Du eingegangene Mails in Excel verwaltest. Liege ich da richtig?

Lotusblatt:
Ich bekomme jeden Tage eine Menge Nachrichten von verschiedenen Benutzern. Bei jedem dieser Benutzer liegt immer ein benutzerspezifischer Betreff vor. Ich möchte in einer Excel Tabelle jeden der Benutzer  (Spalte A) mit seinem spezifischen Betreff (Spalte B) auflisten. Eine VBA-Programmierung in Excel (z.B. die von Scrabby) soll dann auf Knopfdruck (und später Zeitabhängig programmiert) über diese Liste laufen und in der Lotus Notes Datenbank den Benutzer und den speziellen Betreff (als Verifizierung) suchen und mir dann die Sendedaten in Spalte C, D usw. fortlaufend schreiben. Bei 20 Nachrichten jedes Benutzers pro Monat komme ich damit nicht bis zur letzten Spalte in Excel.
Ein anderer Knopf mit hinterlegter VBA-Programmierung soll mir alle Nachrichten eines bestimmten Benutzers (nach Abfrage wer es denn sein soll und später auch Zeitabhängig programmiert z. B. am 01 eines jeden Monats) in meiner Lotus Notes Datenbank löschen, nicht nur in den Papierkorb schieben.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln