Domino 9 und frühere Versionen > Entwicklung

Aus UIDocument das Body-Feld auslesen

<< < (3/3)

Monster:
wäre Super,

in der Hilfe finde ich nichts
 :(

Monster

ata:
... daß du in der Hilfe nichts findest wundert mich, denn da ist alles drin - ich hatte meinen Code mit der Hilfe zusammengestupft...

ata

ata:
... bevor ich lange zu suchen anfange...


--- Code: ---' # Text aus einem Richtextfeld - hier "Body" - des aktuellen Dokumentes einlesen
' # ... bitte beachten - Zeilenumbrüche und Formatierungen gehen dabei verloren
' # ... ata
   Dim ws As New NotesUIworkspace
   Dim docThis As NotesDocument
   Dim rtItem As NotesRichtextItem
   Dim sContent As String
   '
   Call ws.CurrentDocument.Save
   Set docThis = ws.CurrentDocument.Document ' # das aktuelle Dokument ins Backen nehmen
   Set rtItem = docThis.GetFirstItem("Body")
   If rtItem.Type = 1 Then ' # Sicher stellen, daß es ein Richtext-Feld ist
      sContent = rtItem.Abstract( 64000  , False , False)
   End If

--- Ende Code ---

ata

Monster:
Hallo @ata,

Das Problem bei dem Script ist,
er speichert das Dokument.

Ich hatte gedacht du kannst mir mit einem Script helfen,
was anschliessend das gespeicherte Dokument wieder löscht.

Und dazu finde ich nichts in der Hilfe.

Gruss

Monster

ata:
... sorry, das war natürlich nur die Haälfte der Wahrheit...

... dazu mußt du noch einen Agenten anlegen (Run once...), den ich im Script "DelDoc" nenne. Dort wird aus der Notes.ini die zu löschende DocID in der Variablen "DelDocID" ausgelesen und das Dokument gelöscht. Der Agent wird zum Ende deines Scriptes aufgerufen...

... der Code für den Agent "DelDoc" ins Initialize setzen - darauf achten, daß der Agent gemeinsam sein soll...

--- Code: ---   Dim session As New NotesSession
   Dim dbThis As NotesDatabase
   Dim doc As NotesDocument
   Dim sID As String
   
   Set dbThis = session.CurrentDatabase
   sID = session.GetEnvironmentString("DelDocID" , False)
   Set doc = dbThis.GetDocumentByUNID(sID)
   Call doc.Remove(True)
   Call session.SetEnvironmentVar("DelDocID" , "")   

--- Ende Code ---


... hier der korrigierte Code zum auslesen des Feldes und aufrufen des Agenten...

--- Code: ---' # Text aus einem Richtextfeld - hier "Body" - des aktuellen Dokumentes einlesen
' # ... bitte beachten - Zeilenumbrüche und Formatierungen gehen dabei verloren
' # ... ata
   Dim session As New NotesSession
   Dim ws As New NotesUIworkspace
   Dim dbThis As NotesDatabase
   Dim agent As NotesAgent
   Dim docThis As NotesDocument
   Dim rtItem As NotesRichtextItem
   Dim sContent As String
   '
   Call ws.CurrentDocument.Save
   Set docThis = ws.CurrentDocument.Document ' # das aktuelle Dokument ins Backen nehmen
   Call session.SetEnvironmentVar("DelDocID" , docThis.UniversalID)
   Set dbThis = docThis.ParentDatabase
   Set agent = dbThis.getAgent("DelDoc")
   
   Set rtItem = docThis.GetFirstItem("Body")
   If rtItem.Type = 1 Then ' # Sicher stellen, daß es ein Richtext-Feld ist
      sContent = rtItem.Abstract( 64000  , False , False)
   End If   
   
   Call ws.CurrentDocument.Close
   Call agent.Run

--- Ende Code ---

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln