Autor Thema: Agent, der Filegröße und FileNamen von Attachments in RT-Feld schreibt  (Gelesen 2115 mal)

Offline scipio

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Ich liebe dieses Forum!
Ich habe das Forum durchsucht, aber keine Hilfe gefunden die passt, also muss ich ein wenig tippen:

In unserer Firma gibt es eine Datenbank mit Dokumenten, die über eine Maske mit 5 RichText-Feldern erfasst werden. In den Richtext-Feldern (Anhang_1 bis Anhang_5) wurden bis zu 5 Anhänge (je Feld eines) eingebunden. In einem weiteren RT-Feld "Quelltext" wurde über den Datei-Import Agenten HTML-Quelltext (Dateiname, Dateigröße) etc. reingeschrieben.

Nach und nach haben die Kollegen die Datei-Anhänge nicht über den Import-Agenten, sondern über Datei - Anhängen ausgetauscht. Somit stimmt der Quelltext nicht mehr.

Ich habe in der Erfassen-Maske eine neue Schaltfläche eingebunden. Über das Click-Event soll der Quelltext gelöscht und dann neu reingeschrieben werden.

In einem 1. Versuch habe ich neben jedem RT-Feld weitere berechnete Felder eingefügt, die Namen und Größe des Anhangs über die entsprechende @Formel aus dem RT-Feld mit Anhang aufnehmen. Über den Click-Agenten werden dann die Werte aus den berechneten Feldern mit umgebenden HTML nach und nach in das RT-Feld "Quelltext" geschrieben.

Das klappt auch ganz gut. Nur, geht es etwas eleganter, ohne die zusätzlichen berechneten Felder, also nur mit LotusScript???

Wie kann ich das mit einem Array lösen, der Dateigröße und Dateiname des jeweiligten Attachments ausliest und in das RT-Feld schreibt?

Wie sähe das Skript aus? Danke für eure Hilfe

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Salve o Imperator Scipio Africanus, victor Hannibalis Punici

Si vales, bene est, ego valeo.




 ;D

Zu Deiner Frage: in der Designer-Hilfe gibt es ein Kapitel, das sich genau mit dem Thema befasst:

Working with attachments and embedded objects in LotusScript classes  

Darüber hinaus schau Dir die Eigenschaft EmbeddedObjects von NotesRichTextItem und die Klasse NotesEmbeddedObject an, das dürfte weiterhelfen.

Salve
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline scipio

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Ich liebe dieses Forum!
Salve,

bin ehrlich, habe mich ca. 4 Stunden mit dem Kapitel auseinander gesetzt, ein paar Ansätze, aber nicht die Lösung gefunden.

Bin jetzt an dem Punkt, dass ich den Wald vor lauter Bäumen nicht sehe. Daher habe ich mich an dieses Forum - dass mir bisher immer ohne eigene Fragen geholfen hat - gewandt.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Wieiel LotusScript kannst Du denn?

Die Sache ist eigentlich nicht besonders schwer, halt etwas mit Fleissarbeit verbunden.

Für jedes der 5 Felder ist ja der Ablauf grundsätzlich gleich: Grabbsche das Feld, hol Dir aus dem Feld die EmbeddedObjects heraus, suche die FileAttachments und Du kannst die Daten, die Du brauchst auslesen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline juebri

  • Frischling
  • *
  • Beiträge: 33
  • Ich liebe dieses Forum!
Erstelle 5 Richtextfelder mit den Namen Body0 bis Body4 in einer Maske. Erstelle dann eine Schaltfläche und füge in dem Click-Event folgendes Script ein:

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim item As Variant
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   For index = 0 To 4 'Anzahl der RT-Felder
      
      Set item = doc.GetFirstItem("Body" & index)
      Forall embobj In item.EmbeddedObjects
         
         Messagebox "Name: " & embobj.Name & Chr(10) _
         & "File size: " & embobj.FileSize
      End Forall
      
   Next
End Sub

Erstelle dann ein Dokument mit dieser Maske und fülle die RT-Felder mir Anhängen. Speichern und auf die Schaltfläche klicken.

Sollte es eigentlich gewesen sein.

Offline scipio

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Ich liebe dieses Forum!
Danke!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz