Autor Thema: Formatierter Text und Anhänge aus einem RTF in anderes getrennt kopieren  (Gelesen 1377 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo @All

Situation:
es ist ein aktuelles Dokument uiDocA geöffnet. Mit einer Funktion sollte in der Email-Datei aktuelles User eine neue Email geöffnet werden mit dem Übernahme bestimmten Daten.

Hier ist Ausschnitt aus dem Funktions-Code:

Dim ws As NotesUIWorkspace   
Dim s As NotesSession
Dim db As NotesDatabase

Dim uidb As NotesDatabase
Dim uiDocA As NotesUIDocument
Dim docA As NotesDocument
Dim rtitemA As NotesRichTextItem

Set s = New NotesSession
Set ws = New NotesUIWorkspace
Set uidb = s.CurrentDatabase      'aktuelle Anwendung
Set uiDocA = ws.CurrentDocument   'aktuell geöffnete Dokument
Set docA = uiDocA.Document
Set rtitemA  = docA.GetFirstItem("Angebot")   'RTF
         

Dim mailDb As NotesDatabase
Dim docM As NotesDocument
Dim uidoc As NotesUIDocument
Dim msgStr As String
Dim tmpAnrede As String
Dim tmpInhaltText As String
   
Set mailDb = New NotesDatabase( "", "" )
Call mailDb.OpenMail

Set docM = New NotesDocument( mailDb )
docM.Form = "Memo"
   
docM.Subject = “Text Subject”
docM.EnterSendTo = “Empfänger”
               
If Not rtitemA Is Nothing Then
   tmpInhaltText = rtitemA.Getformattedtext(False, 0)
   If (rtitemA.Type = RICHTEXT ) Then
      If Not IsEmpty(rtitemA.EmbeddedObjects) Then
         'ForAll object In rtitemA.EmbeddedObjects
            If ( object.Type = EMBED_ATTACHMENT ) Then
               Call rtitemA.CopyItemToDocument(docM,"Body")
               
            End If
         'End ForAll               
      End If         
   End If   
End If
         
Set uidoc = ws.Editdocument(True, docM)
Call uidoc.GotoField( "Body" )
msgStr = tmpAnrede & Chr(10) & Chr(10)
msgStr = msgStr & tmpInhaltText & Chr(10) & Chr(10)
Call uidoc.InsertText( msgStr )   
   

Meine Problem ist folgendes:
Das aktuelle Dokument enthält einen RTF „Angebot“, das wie formatierter Text  als auch einige Attachements erhalten kann. Das alles sollte in das docM Body kopiert werden, was versuche ich mit dem Code
Call rtitemA.CopyItemToDocument(docM,"Body")
erreichen. Aber das Problem ist folgendes.
Das neue Mail-Dokument wird schon mit eingebauter Signatur erstellt und die Code

dim dem Code Call rtitemA.CopyItemToDocument(docM,"Body")

platziert die ganze Text und Anhänge nach der Signatur. Aber wir brauchen, dass den Text vor der Signatur erscheint.

Mit dem Code:

tmpInhaltText = rtitemA.Getformattedtext(False, 0)

Call uidoc.GotoField( "Body" )
msgStr = tmpAnrede & Chr(10) & Chr(10)
msgStr = msgStr & tmpInhaltText & Chr(10) & Chr(10)
Call uidoc.InsertText( msgStr )


bekomme ich den Text vor dem Signatur aber ich weiß nicht wie kann ich den Text nach der Signatur los bekommen. Mit anderen Wörten wie kann ich die Anhänge getrennt vom Text in das Body Mails-Dokumentes kopieren?

Für jede Hilfe, Tipp, Hinweis vielen Dank im Voraus

Sofia
« Letzte Änderung: 01.04.14 - 09:48:45 von sja »

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hsllo.

meine Lösung, wenn jemand dafür eine Interesse hat:

Dim tmpPfadStr As String
tmpPfadStr = environ("TEMP")
Dim tmpObjectName As String
Dim objectBody As NotesEmbeddedObject
Dim tmpFile As String

If Not rtitemA Is Nothing Then
   tmpInhaltText = rtitemA.Getformattedtext(False, 0)
   If (rtitemA.Type = RICHTEXT ) Then
      If Not IsEmpty(rtitemA.EmbeddedObjects) Then
         ForAll object In rtitemA.EmbeddedObjects
            If ( object.Type = EMBED_ATTACHMENT ) Then
               tmpObjectName = object.Name
               tmpFile = tmpPfadStr & "\" & tmpObjectName
               Call object.Extractfile(tmpFile)      
               Set objectBody =  richTextBody.EmbedObject( EMBED_ATTACHMENT, "", tmpFile)
               Kill tmpFile
                     
            End If
         End ForAll
               
      End If         
   End If   
End If

Grüße
Sofia

« Letzte Änderung: 01.04.14 - 09:53:19 von sja »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz