Domino 9 und frühere Versionen > ND6: Entwicklung

Lotus Script Anfängerproblem...

<< < (6/8) > >>

Silent_Bob:
@Axel:

Ich habe jetzt den Code aus Antwort 17 nochmal so wie er ist ein meiner schaltfläche ersetzt. Habe extra auf Gross und Kleinschreibung geachtet.

Der Code an sich funktioniert jetzt auch. Der Anhang wird ausgewählt und erscheint auch in dem Entsprechenden RTF Feld.

Allerdings lässt sich das Dokument nicht speichern.

Ich kann STRG + S drücken, "Speichern" im Menü "Datei" auswählen, oder meine Schaltfläche "@Command[(FileSave)]

Nichts. Das Ding wird nicht gespeichert.

Silent_Bob:
So wie es aussieht, habe ich die Lösung gefunden.

In dem Script von Antwort 17 fehlte etwas:

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim anhang As NotesRichTextItem
   Dim datei As Variant
   
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set anhang = New NotesRichTextItem(doc, "anhang")
   datei = workspace.OpenFileDialog(False, "Datei auswaehlen")
   
   If Isempty(datei) Then Exit Sub   
   Call uidoc.GotoField("anhang")
   If anhang.type = 1 Then
      Call anhang.EmbedObject( EMBED_Attachment, "", datei(0))
      Call anhang.Update
      doc.SaveOptions = "0"
      Call UiDoc.Close(True)
      Dim NewUiDoc As NotesUIDocument
      Set NewUiDoc = workspace.EditDocument(True, doc)         
      Set Doc = NewUiDoc.Document
      doc.SaveOptions = "1"
   End If
End Sub

Vor dem letzten "EndIf" habe ich noch ei doc.SaveOptions="1" eingebaut!
Nun lässt sich das Ding auch speichern.

Wenn ich jetzt keine bösen Überraschungen mehr erlebe, scheints das gewesen zu sein, oder was meint ihr?

klaussal:
Ich frag mich ja, warum zweimal saveoptions gesetzt werden ?
1 = speichern, 0 = nicht speichern

Untitled:
zuerst wird auf "0" gesetzt, um das uiDoc ohne Speicherabfrage zu schliessen. Anschliessend wird es wieder auf "1" gesetzt, um zukünftig das Speichern wieder zu erlauben.

Es wird ja nicht automatisch wieder auf "1" gesetzt.

Was ich allerdings auch nicht begreife ist, wo das Backend-Dokument gespeichert wird (ev. mit anhang.Update?) und warum das doc.Saveoptions nicht im uiDokument gemacht wird. Und wo wird das "doc.SaveOptions = "1"" gespeichert?

Grüsse

Axel:
Damit das Ganze sauber funktioniert muss das Feld SaveOptions wieder entfernt werden.

...
If anhang.type = 1 Then
      Call anhang.EmbedObject( EMBED_Attachment, "", datei(0))
      Call anhang.Update
      doc.SaveOptions = "0"
      Call UiDoc.Close(True)
      Dim NewUiDoc As NotesUIDocument
      Set NewUiDoc = workspace.EditDocument(True, doc)         
      Set Doc = NewUiDoc.Document
      Call doc.RemoveItem( "SaveOptions" )
   End If
...

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln