Domino 9 und frühere Versionen > Entwicklung

Bestimmter Text aus Mail

(1/2) > >>

Fis:
Hallo liebe Leidesgenossen,

hab zwar ein paar Treffer gefunden zu meinem gesuchten Thema, brachte mich aber nicht weiter.

Ich bekomme immer eine bestimmte Mail und aus dieser Mail sollen bestimmte Textabschnitte in bestimmte Felder in einer DB kopiert werden. Dieses sollte manuell geschehen.

Am besten wäre es über ein Agent in der Mail-DB. Vielleicht kann mir da einer unter die Arme greifen.

Danke und Gruß
Rodan

klaussal:
... wenn es manuell passieren soll, wofür dann noch der agent ?

Thomas Schulte:
Also du willst einen Agent der dir Teile des Inhaltes des Richttext Feldes in Felder einer DB einbaut.
Schreib dir doch einfach einen Parser in Script.

Vorbedingung: Du musst die zu übertragenden Teile eindeutig identifizieren können. Das hängt eigentlich ausschließlich von der Struktur der Daten ab. Beispiel hier wäre nicht schlecht um das abschätzen zu können.

Thomas

Fis:
Ich möchte gernen einen Agenten den ich manuell über Aktion ausführen kann bei der geöffneten Mail.

Beispiel kann ich schlecht hier rein geben, da vertraulich, aber es soll so aussehen.

Marion Tester
Ertrag: 13000 €
Gewinn: 5000 €

noch verbleibender Kredit beträgt 234454 €

Und ich möchte dann den Namen in ein Feld, den Ertrag in ein weiteres Feld ....

eknori:
Hab mal hier schnell was zusammengebraten:

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim fullString As String
   Dim positionOfErtrag As Integer
   Set uidoc = workspace.CurrentDocument
   fullString = uidoc.FieldGetText( "Body" )
   
   positionOfErtrag = Instr ( fullString, "Ertrag:") + Len("Ertrag: ")
   subErtrag$ = sWord ( Mid$ ( fullString , positionOfErtrag , 10), " " , 1 )
   positionOfGewinn = Instr ( fullString, "Gewinn:") + Len("Gewinn: ")
   subGewinn$ = sWord ( Mid$ ( fullString , positionOfGewinn   , 10) , " " ,1 )
   
   Msgbox subErtrag$
   Msgbox subGewinn$
End Sub

Function sWord ( sourceString As String, separator As String, number As Integer ) As String
   searchString$=SourceString & separator ' add one separator to catch also the last substring
   For i% = 1 To number
      pos%=Instr(searchString$, separator)
      If pos%=0 Then Exit For
      substring$=Left(searchString$,pos%-1)
      searchString$=Mid(searchString$, pos%+1)
   Next
   If pos% > 0 Then
      sWord=substring$
   Else
      sWord=""
   End If
End Function


Die Funktion sWord verhältsich wie @Word.

Zunächst hole ich mir den Inhalt von "Body" in eine String Variable.
Dann prüfe ich mit instr die Position der Schlüsselwörter "Eintrag:" und "Gewinn:".
Von den ermittelten Positionen aus lese ich 10 zeichen nach rechts und (kann auch mehr sein ) und schneide dann mit sword beim ersten Leerzeichen ab ( ist zwischen Zahl und Eurosymbol ) Damit habe ich die Werte)

Mit dem "verbleibenden Kredit" verfährst du dann analog.

wenn jetz vor dem eigentlichen Namen noch das Schlüsselwort Name: stehen würde, hättest du das Problem schon (fast) gelöst.  ;D


Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln