Autor Thema: VBA & Lotus Notes - Mails durchsuchen  (Gelesen 14300 mal)

Offline Scrabby

  • Frischling
  • *
  • Beiträge: 1
VBA & Lotus Notes - Mails durchsuchen
« am: 01.09.10 - 09:56:02 »
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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: VBA & Lotus Notes - Mails durchsuchen
« Antwort #1 am: 01.09.10 - 10:05:37 »
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.
« Letzte Änderung: 01.09.10 - 10:10:42 von Peter Klett »

Offline Lotusblatt

  • Frischling
  • *
  • Beiträge: 2
  • Geschlecht: Männlich
Re: VBA & Lotus Notes - Mails durchsuchen
« Antwort #2 am: 29.10.10 - 14:06:51 »
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?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: VBA & Lotus Notes - Mails durchsuchen
« Antwort #3 am: 03.11.10 - 09:56:02 »
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?

Offline Lotusblatt

  • Frischling
  • *
  • Beiträge: 2
  • Geschlecht: Männlich
Re: VBA & Lotus Notes - Mails durchsuchen
« Antwort #4 am: 03.11.10 - 16:47:19 »
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.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: VBA & Lotus Notes - Mails durchsuchen
« Antwort #5 am: 04.11.10 - 07:03:25 »
Deine Hauptaktivitäten laufen also in Excel. Wieso das Excel-Macro nicht korrekt arbeitet (also z.B. die Spalten C und D nicht richtig ausfüllt), kann ich Dir nicht sagen, da dies ein Notes-Forum und kein Excel-Forum ist. Zu Deinen geschilderten Notesproblemen soviel:

FTSearch benötigst Du in Deinem Fall nicht, da Du nur nach dem Absender und dem Betreff suchst. Beide Felder sind nicht Richtext, daher kannst Du die relevanten Dokumente mit Search suchen.

Zum Löschen von Dokumenten aus der Maildatenbank, ohne sie in den Papierkorb zu schieben, weiß ich keine Lösung. In einer Anwendung lösche ich Mails mit doc.Remove, danach sind sie dann im Papierkorb. Aber das ist eine sehr konkrete Frage, zu der hier im Forum sicherlich jemand Kompetenteres (Maildatenbank und Co. sind nicht wirklich Themen, mit denen ich mich bisher intensiv auseinandergesetzt hätte) eine Antwort weiß.

Melde Dich aber gerne wieder, wenn Du konkrete Fragen hast, je konkreter die sind, umso einfacher und wahrscheinlicher ist es, dass jemand eine Antwort darauf kennt.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz