Datei mittles Lotus Script an Dokument anhängen

  • Hallo zusammen,


    ich habe da ein kleines Problemchen mit einem RichText Item.
    Und zwar habe ich ein Dokument, wo es ein RichText Item gibt. Nun kann man ja mit der Büroklammer Dateien anhängen und die hängen nachher auch wirklich in diesem Feld.
    Nun will - oder besser muss ich - mit einem Button mit Lotus Script eine Datei in ein genau definiertes Feld hängen.


    Und zwar verwende ich folgende Zeilen.


    Set rtItem = NotesUIWorkspace.CurrentDocument.Document.getFirstItem("Attachment")
    Set object = rtitem.EmbedObject(EMBED_ATTACHMENT, "", "blub.doc")
    Call NotesUIWorkspace.CurrentDocument.Document.Save(True, False)


    Wenn ich das Dokument nun schliesse und wieder öffne, hängt die Datei auch dran, allerdings wird das Icon nicht in dem RichText Feld angezeigt, sondern ganz unten.


    Wie kommt das oder habe ich hier etwas nicht verstanden?


    cu


    Jörg

  • Eventuell könnte es daran liegen, daß du das Dokument im Frontend auf hast und es im Backend veränderst.
    Versuch doch mal ein Attachment anzuhängen ohne dass das Dokument im Frontend geöffnet ist

  • taurec hat Recht, das UI Dokument muss zuvor geschlossen werden.


    Das Icon des Attachments wird aber dennoch "falsch" angezeigt werden, wenn Du in ein Backend-Dokument ein Attachment anhängst. Da kann man nix machen.


    Andreas

  • Hm, das ist ja dumm, dass das Icon nicht an Ort und Stelle agezeigt wird. Dann kann ich ja ruhig im Backend rumfurwerken, wenn's eh nichts bringt.


    Für den Benuzter wäre es halt schön, wen dessen Dokument am richtigen Platz angezeigt wird. Naja, muss ich halt irgendwie geschickt verkaufen, dass das nicht geht.


    cu

  • hi,


    zunächst mal eigentlich nicht. Nur folgendes will ich mal kurz erklären.
    In der Datenbank werden unterschiedliche Dokumente (Word, Excel etc.) abgelegt. Diese Notes-Dokumente haben einen eindeutigen Titel und diese bezeichne ich als Vorlagen.


    Nun gibt es eine andere Art von Notesdokumenten, wo diese Vorlagen hinterlegt werden sollen. Allerdings sollen diese sich im Dateinamen unterscheiden. Also gibt es in der zweiten Maske einen Button, der die Liste der existierenden Vorlagen anzeigt, der Benutzer kann sich eine auswählen, dann kann er einen neuen Dateinamen angeben und dieses Notes-fremde-Dokument in dem Notesdokument speichern.


    Kurz um, es geht um eine Veranstaltungs-DB. Dabei werden eben bspws. Worddokumente (Programm der Veranstaltung) in der DB gespeichert und als orlagen abgelegt. Dann werden pro Veranstaltung ein neues Worddokument basiernd auf der Vorlage abgelegt. In der Art werden halt noch weitere Dokumente (Zeitplan, Kostenplan etc.) basierend auf Vorlagen abgelegt.


    Der Benutzer soll halt so wenig wie möglich von Aktionen wie "Anhang speichern", "Im Dateisystem umbenennen" und wieder anhängen. Die DB soll halt für normale User sein. =:)


    Ich hoffe, dass das einigermassen klar ist?
    Vielleicht kannst Du ja mal kurz die Formellösung präsentieren, denn die würde mich dennoch interessieren.


    cu

  • Dann werde ich mal ein wenig testen.
    Problem wird nur werden, dass ich die Befehlsfolge mit Evaluate nicht ausführen kann. Denn das erwartet ja eine Konstante und da den folgenden String einzugeben ist schon ein Problem:


    res = Evaluate("@Command([EditGotoField]; "Dokumente")")


    Denn die " in dem " bereiten hier ein Problem.

  • Geht schon da du den String dort zusammensetzen kannst.
    Ich bin nur nicht sicher ob UI-Kommandos bei Evaluate funktionieren:


    res = Evaluate("@Command([EditGotoField]; """ & Variable & """)")

  • Und genau hier scheint ein neues Problem aufzutauchen. Denn wenn ich ein @Command reinschriebe geht's nicht, bei @-Formeln schon.


    :(


    So ein M**t


    Ich habe einfach mal eine Maske mit Feld A (Text) und Feld B (RichText) gebaut. Dann einen Button, der folgendes Script beinhaltet:


    res = Evaluate("@Command([EditGotoField]; ""FeldB"")")


    Wenn ich die Maske aufmache, steht der Cursor in Feld A. Drücke ich auf den Button, passiert nichts. Mache ich anstatt Script direkt die Formel hinter den Button geht's.


    gr*****

  • Super! Das war der Tip.
    Zumindest in meiner TestDB habe ich jetzt einen Button, der mittels Formel den Scriptagent anschmeisst, der wiederum bastelt an den Dokumenten rum und dann die beiden @Commands.


    Schwups ist das Dokument in dem Feld wo es hin soll.


    thnx