Domino 9 und frühere Versionen > ND8: Entwicklung

Mal wieder Richtextfeld kopieren

(1/2) > >>

iukhdh:
Liebes Forum,

ich steh auf dem Schlauch.

Ich möchte eigentlich nur, dass aus meiner Maske, die ich gerade erfasst habe, ein Richtextfeld in eine Mail kopiert wird, und diese weitersenden. Ich bekomme aber immer eine Fehlermeldung "Missing rich text object".

Leider zeigt mir der Debugger diesen Code nicht an.

Ich gebs zu, mein erster Versuch mit Richtext, der bisher kläglich scheitert. Kann mir mal bitte jemand auf die Sprünge helfen?


--- Code: ---Sub Queryclose(Source As Notesuidocument, Continue As Variant)

Dim session As New notessession
Dim db As NotesDatabase
Dim rtitem As NotesRichTextItem

Dim ws As New notesuiworkspace
Dim uidoc As NotesUIDocument
Dim rtitem2 As NotesRichTextItem
Dim aktdoc As NotesDocument
Set uidoc = ws.CurrentDocument
Set aktdoc = uidoc.Document
Set rtitem2 = aktdoc.GetFirstItem ("Textinhalt" )

Set db = session.CurrentDatabase
Dim altdoc As Notesdocument
Set altdoc = db.GetDocumentByUNID(source.fieldgettext("HDokumentID"))

'Abfrage, ob der OK oder der Abbruchknopf gedrückt wurde
If Not Source.DialogBoxCanceled Then

'Neues Dokument vorbereiten, mit den Inhalten für Empfänger, Betreff, Text ....

Set doc = New NotesDocument(db)
With doc
.Form = "Memo"
.SendTo = source.fieldgettext("Empfaenger")
.Subject = source.fieldgettext("Meldungsart")+"  -  Servicefall "+source.fieldgettext("Servicenummer")
End With

'Ein Richtextitem wird erstellt für den Body, inkl. Link
Set rtitem = New NotesRichTextItem( doc, "Body" )

Call rtitem.AppendRTItem(rtitem2)
Call doc.Send(False)
End If

End Sub
--- Ende Code ---

Fedaykin:
Hallo iukdh (Was für Name)
Thomas wie ich gerade entdeckt habe  ;)

Würde zum Test mal so was


--- Code: ---If rtitem2 is nothing then
   print "rtitem2 ist nicht da"
end if
--- Ende Code ---

vor

--- Code: ---Call rtitem.AppendRTItem(rtitem2)
--- Ende Code ---
einfügen.

Und falls der Text ausgegeben wird schauen warum er rtitem2 nicht bekommt.

Gruss
Remo

koehlerbv:

--- Zitat von: iukhdh am 26.11.09 - 16:35:34 ---... dass aus meiner Maske, die ich gerade erfasst habe, ein Richtextfeld in eine Mail kopiert wird ...

--- Ende Zitat ---

Ist dieses "gerade erfasste" Dokument überhaupt schon gespeichert? Sonst wird das nämlich nix.

Bernhard

iukhdh:
@ Fedaykin (Was für ein Name)  ;)

Hallo Remo,
nö,da kommt keine Meldung

Und iukhdh kommt daher, weil in der iuk von hdh arbeite :)

@Bernhard

öh ... das wird wohl der Tipp sein, um den ich mich morgen gleich kümmern muss, denn jetzt steht die Holde da und holt mich ab ;-)

Danke an beide

iukhdh:
@Bernhard

So, bin daheim, auf der Fahrt hierher ging mir aber noch folgendes durch den Kopf:

Wenn ich statt mit AppendRTItem mit AppendText arbeite, dann bekomme ich es hin. Das würde doch ohne gespeichertes Dokument auch nicht gehen, oder? Aber der Fehler kommt eindeutig aus der Zeile


--- Code: ---Call rtitem.AppendRTItem(rtitem2)
--- Ende Code ---

wie ich herausgefunden habe.

Dieses "gerade erfasste Dokument" erstelle ich von einem DokumentA über eine Dialogbox, wie wir es letzhin hier im Forum erarbeitet hatten, da hast du mir glaub ich auch den Tipp dazu gegeben.

Wie du siehst ist der Code im Queryclose, und wird ausgeführt wenn die Dialogbox mit OK geschlossen wird.

Ich habe letzthin bei meinen Versuchen versucht das Dokument per Code zu speichern, da kam dann immer eine Fehlermeldung das schon ein Dokument mit dieser UNID vorhanden sei. Aus der Ferne heraus meine ich, dass ich dann im DokumentA gespeichert habe.

Kann es sein, dass ich diesen Code nicht in der Dialogboxmaske ausführen muss, sondern erst nachdem ich diese verlassen habe und dann wieder im DokumentA bin?

Vielleicht noch eine Frage zum Abschluss? Hast du eine Ahnung, warum mir der Debugger den Code in der Dialogbox nicht anzeigt? Er zeigt mir alles bis zum Sprung in die Dialogbox, und danach auch wieder, aber Code in der Dialogbox wird irgendwie ignoriert. Nicht sehr hilfreich  :-\

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln