Autor Thema: wieder mal rich text fields  (Gelesen 2075 mal)

Offline zeeboo

  • Frischling
  • *
  • Beiträge: 49
  • Ich liebe dieses Forum!
wieder mal rich text fields
« am: 23.07.03 - 10:00:04 »
hallo
wieder mal eine frage zu rich text felder
;)


ich will mir einige werte (text, number... und eben auch richtext) aus einem dokument holen und möchte diese in ein anderes dokument reinschreiben.

bei text, number... mach ich das so
doc.einText = Cstr(otherdoc.GetItemValue("myText")(0))

bei rich text haut das eben nicht so hin - weil die methode einen string liefert.

nun suche ich eine möglichkeit das selbe auch für rich text fields zu machen!

mfg

zeeboo


Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:wieder mal rich text fields
« Antwort #1 am: 23.07.03 - 10:05:55 »
bei rich text haut das eben nicht so hin - weil die methode einen string liefert.

??
na egal, muss ich nicht verstehen...

schau mal in die designer hilfe unter der notesrichtextitem - class...

hier ein auszug :

Dim doc As NotesDocument
Dim rtitem As Variant
Dim plainText As String
Dim fileNum As Integer
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
  plainText = rtitem.GetFormattedText( False, 0 )
End If

gruss

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:wieder mal rich text fields
« Antwort #2 am: 23.07.03 - 10:08:51 »
Hi,

wenn ich das richtig verstanden habe, willst du den Inhalt eines Richtextfeldes in ein RTF-Feld in einem anderen Dokument kopieren.

Hier ein Beispiel aus der Desinger-Hilfe:

Zitat
1.   This script takes the Body item on document B and appends it to the end of the Body item on document A. The Body item on document B is deleted using the Remove method defined in NotesItem.
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitemA As Variant
Dim rtitemB As Variant
'...set values of docA and docB...
Set rtitemA = docA.GetFirstItem( "Body" )
Set rtitemB = docB.GetFirstItem( "Body" )
If ( rtitemA.Type = RICHTEXT And _
rtitemB.Type = RICHTEXT ) Then
  Call rtitemA.AppendRTItem( rtitemB )
  Call rtitemB.Remove
  Call docA.Save( False, True )
  Call docB.Save( False, True )
End If

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline zeeboo

  • Frischling
  • *
  • Beiträge: 49
  • Ich liebe dieses Forum!
Re:wieder mal rich text fields
« Antwort #3 am: 23.07.03 - 11:27:34 »
hab das nun kurz so ausprobiert

    Dim db As NotesDatabase
     Dim session As New NotesSession
     
     Set db = session.CurrentDatabase
     
     Dim docA As New  NotesDocument (db)    
     Dim docB As New  NotesDocument (db)
     
     docA.Form = "testform"
     docB.Form = "testform2"
     
     Dim rtitemA As Variant
     Dim rtitemB As Variant
     
     Set rtitemA = docA.GetFirstItem( "rtfield1" )
     Set rtitemB = docB.GetFirstItem( "rtfield2" )    
     
     If rtitemA.Type = RICHTEXT And rtitemB.Type = RICHTEXT Then
          Call rtitemB.AppendRTItem( rtitemA )
          Call rtitemA.Remove
          Call docA.Save( False, True )
          Call docB.Save( False, True )
     End If


das ganze liefert aber beim "if" einen fehler: "object variable not set"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:wieder mal rich text fields
« Antwort #4 am: 23.07.03 - 12:22:57 »
Hi,

das ist es wieder, das alte leidige Thema mit den RTF-Feldern.

Diese sind erst vollständig initialisiert wenn das Dokument einmal gespeichert, geschlossen und wieder geöffnet wurde.

Versuch's mal so

Dim rtitemA As NotesRichTextItem
Dim rtitemB As  NotesRichTextItem

Set rtitemA = New NotesRichTextItem (docA, "rtfield1" )
Set rtitemB = New NotesRichTextItem (docB, "rtfield2" )

...


Axel



 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:wieder mal rich text fields
« Antwort #5 am: 23.07.03 - 12:25:57 »
Ja, loggisch.
Du Künstler kreierst zwei neue Dokumente (die ja erstmal völlig itemlos sind) und sagst dann "Gib mir mal das erste Item namens ...".
Nun greif' mal einem leeren Dokument in die Items ;-)

Und bevor man sich auf frisch instantiierte Objekte bezieht, schaut man immer erstmal nach, ob das kein Schuß ins Leere war:
If rtItemA is Nothing then
   MessageBox "Das war nix !"
Else
   '............. was es so zu tun gibt
End If

HTH,
Bernhard

Offline zeeboo

  • Frischling
  • *
  • Beiträge: 49
  • Ich liebe dieses Forum!
Re:wieder mal rich text fields
« Antwort #6 am: 23.07.03 - 13:56:07 »
danke mal...

ich habe im beitragsarchiev natürlich gesucht aber leider nichts passendes gefunden.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz