Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Silent_Bob am 23.02.06 - 10:30:46

Titel: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 10:30:46
Guten Morgen,

es ist wieder soweit. Seitdem ich nun Wochen (fast Monate) lang nicht mehr dazu gekommen bin, in Lotus bzw. Script zu arbeiten, hab ich natürlich wieder die hälfte vergessen :-(

Ich möchte einfach bloss per Script ein Auswahlfeld erzeugen, mit dem ich eine Datei auswählen kann, die dann als Anhang in ein RTF Feld gepackt wird.

Mein Script sieht bisher so aus:

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim datei As Variant
   Set uidoc = workspace.CurrentDocument
   datei = workspace.OpenFileDialog(False, "Datei auswaehlen")   
   If Isempty(datei) Then Exit Sub   
   Call uidoc.GotoField("anhang")
und hier komm ich schon nicht mehr weiter...   
End Sub

Wer kann mir auf die Sprünge helfen?
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 10:41:17
Wäre es nicht einfacher mit einem RichTextLite-Feld? Oder ist dies aus anderen Gründen nicht möglich?

Grüsse
Moritz
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 10:45:51
Das ist eigentlich egal ob RichTextLite oder ein "echtes" RichText Feld.

Aber wieso sollte das leichter sein?

Anmerkung: Ich könnte dieses Problem selbstverständlich mit der @-Formelsprache lösen, aber das will ich nicht, denn so lern ich ja nie die Scriptsprache
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 10:47:53
Der macht dir da automatisch einen Button rechts neben dem Feld, wo du die erlaubten Attachments einfügen kannst. Ohne eine Zeile Code  ;D

(aber so lernst du natürlich weder Formelsprache noch Script  ;))
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 11:00:14
Da geb ich dir in beiden Punkten recht :-)
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 11:08:34
Also falls du das Ganze zu Lernzwecken doch in Script machen möchtest, schau dir mal in der Hilfe die Methode

notesRichTextItem.EmbedObject( type%, class$, source$, [ name$ ] )

an.

Grüsse
Moritz
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 11:41:12
Hm,

ich komme da trotzdem nicht so weiter.

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim anhang As NotesRichTextItem
   Dim datei As Variant
   Set uidoc = workspace.CurrentDocument
   datei = workspace.OpenFileDialog(False, "Datei auswaehlen")   
   If Isempty(datei) Then Exit Sub   
   Call uidoc.GotoField("anhang")
   Call anhang.EmbedObject( EMBED_OBJECT, "", datei)
End Sub

Wieso erscheint nun "Object Variable not set"?

Es soll doch der, der Variable "datei" übergebene Pfad, hier in das feld "anhang" geschrieben werden.

Versteh ich jetzt nicht.
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 11:53:58
"anhang" wurde noch gar nicht initialisiert. Du musst der Variable noch das RichText zuweisen.

Dazu musst du das Backend-Dokument nehmen. Also uidoc.document.

zB so:

Code
Dim doc as NotesDocument

set doc = uidoc.Document

Nun musst du aus diesem Dokument das Feld rausziehen. Etwa mit anhang = doc.GetFirstItem("DeinRTF").

Ausserdem würde ich statt "EMBED_OBJECT", "EMBED_ATTACHMENT" nehmen.

Dann nicht vergessen, das UIDoc musst du nun neu laden, damit die Änderungen aus dem Backend im Frontend sichtbar werden.

So nun geh ich mal essen.

Grüsse
also
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: ascabg am 23.02.06 - 11:57:58
Hi,

Also eventuell so.

Code
Dim anhang as NotesRichTextItem

Set anhang = uidoc.Document.GetFirstItem("Anhang")
If Not anhang Is Nothing Then
  Call anhang.EmbedObject( EMBED_ATTACHEMENT, "", datei)
End If

Andreas
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 12:12:31
Hallo zusammen, also ich denke, wir kommen der Sache näher:

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 doc = uidoc.Document
   Set anhang = uidoc.Document.GetFirstItem("anhang")
   datei = workspace.OpenFileDialog(False, "Datei auswaehlen")   
   If Isempty(datei) Then Exit Sub   
   If Not anhang Is Nothing Then
      Call anhang.EmbedObject( EMBED_ATTACHEMENT, "", datei)
   End If
End Sub


Allerdings kann ich nun das Script nicht speichern.

"Variable not declared: EMBED_ATTACHMENT".

Wie soll ich denn EMBED_ATTACHMENT declarieren??
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Fedaykin am 23.02.06 - 12:18:45
EMBED_ATTACHMENT (1454)
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: ascabg am 23.02.06 - 12:25:49
Hi,

@Silent_Bob

Kleine Anregung vielleicht.

Schau doch einmal in die Hilfe des Designers bei "NotesRichTextItem" und hier bei EmbedObject.

Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Body" )
Set object = rtitem.EmbedObject _
( EMBED_ATTACHMENT, "", "c:\jim.sam")
doc.Form = "Main Topic"
doc.Subject = "Here's Jim's document, as an attachment"
Call doc.Save( True, True )
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: dgerhardt am 23.02.06 - 12:32:40
Probier mal das hier...

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
   
   On Error Goto ErrHdl
   
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set Anhang = New NotesRichTextItem(doc, "Anhang")
   'sonst ist das Objekt nicht gesetzt oder der Typ nicht definiert
   
   datei = workspace.OpenFileDialog(False, "Datei auswaehlen")
   'liefert einen Array zurück : datei(0) ist der erste Dateiname   
   
   If Isempty(datei) Then Exit Sub   
   Call uidoc.GotoField("anhang")
   If anhang.type = 1 Then
      Call anhang.EmbedObject( EMBED_Attachment, "", datei(0))
'refresh uidoc... das ist leider so in Notes...
      Call anhang.Update
      doc.SaveOptions = "0"
      Call UiDoc.Close(True)
      Dim NewUiDoc As NotesUIDocument
      Set NewUiDoc = workspace.EditDocument(True, doc)         
      Set Doc = NewUiDoc.Document
'end refresh
   End If

Mit den RT-Felder muß man leider etwas umständlich arbeiten  ;)
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 12:56:31
Lieber DGerhard,

ich bedanke mich recht herzlich (und natürlich bei den andern für Ihre Mühe),

Dein Script läuft so gut wie beinahe ;-)

Nur das On Error Goto ErrHdl musste ich entfernen.
Allerdings kann ich das Dokument nicht abspeichern.

Wenn ich unten SaveOptions auf 1 setze, wird der Anhang gespeichert, aber nicht in dem Feld Anhang sondern ganz unten. !?
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 13:32:57
Änder mal die Zeile

Code
Set Anhang = New NotesRichTextItem(doc, "Anhang")

in

Code
Set Anhang = doc.GetFirstItem("DeinRTF")

um.
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 13:36:19
Object Variable not set
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: ascabg am 23.02.06 - 13:38:40
@Silent_Bob,

Besteht die Moeglichkeit, das Du mal Deinen Code postest?

Andreas
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 14:05:55
natürlich, sehr gern.

das feld in der maske, wo der anhang rein muss, heisst auch "anhang".

der aktuelle code sieht so aus:

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
   End If
End Sub
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 14:48:13
Und wenn du die Zeile wie oben von mir beschrieben änderst kriegst du den Error?

Du hast doch hoffentlich "DeinRTF" schon so geändert, dass die Zeile nun so aussehen müsste?

Code
Set Anhang = doc.GetFirstItem("anhang")

Grüsse
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 15:00:06
Ja sicher. Ich hab "DeinRTF" umbenannt ;-)

Mit der Zeile von dir erhalte ich in dem Script die Fehlermeldung "Object Variable not set", und zwar, nachdem ich im Dateiauswahlfenster eine Datei ausgewählt habe.
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 15:14:58
Schon mal das Zeugs debuggt? Sonst schau mal, in welcher Zeile der Fehler kommt, und welche Variablen nicht gesetzt wurden.

Grüsse
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: ascabg am 23.02.06 - 15:19:11
Ich habs mal bei mir versucht (Code Copy&Paste)

Verhalten des Codes ist dasselbe.

@Untitled
Wenn, so wie ich auch schon vorgeschlagen habe
Set Anhang = doc.GetFistItem("Anhang")
kleines Problem.

Wenn neues Dokument Feld "Anhang" (RT-Field) noch nicht vorhanden, erst nach dem Speichern.

Andreas
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Axel am 23.02.06 - 15:31:01
Ich habe den Code aus Antwort#17 so wie er ist übernommen und in eine Spielmaske das RTF-Feld Anhang eingefügt.

Der Code funktioniert einwandfrei.

Wo ist denn genau das Problem.


Axel
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: klaussal am 23.02.06 - 15:42:14
anhang oder Anhang ???

was sagt der debugger ?
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 15:45:22
Wenn neues Dokument Feld "Anhang" (RT-Field) noch nicht vorhanden, erst nach dem Speichern.

Das stimmt natürlich. Dann müsste man zuallererst das uiDoc speichern. (DesignerHilfe sagt wie)

Der Code funktioniert einwandfrei.

Wo ist denn genau das Problem.

Er fügt das Attachment am Ende des Dokumentes und nicht ins RTF ein.

Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 15:49:52
@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.
Titel: Lösung gefunden !
Beitrag von: Silent_Bob am 23.02.06 - 15:58:54
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?
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: klaussal am 23.02.06 - 16:06:04
Ich frag mich ja, warum zweimal saveoptions gesetzt werden ?
1 = speichern, 0 = nicht speichern
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Untitled am 23.02.06 - 16:13:33
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
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Axel am 23.02.06 - 16:19:25
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
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 16:25:33
Stimmt. Ob man jetzt SaveOptions="1" setzt, oder
Call doc.RemoveItem( "SaveOptions" ).
geht beides, und kommt auch aufs selbe raus.

Allerdings hat die ganze Choose noch einen Schönheitsfehler: Es wird nur ein Anhang in dem Feld zugelassen, alle weiteren Anhänge, die man evtl. noch da einfügen möchte, werden in einem seperaten bereich unter der Maske abgelegt.... !?
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Axel am 23.02.06 - 16:28:53
Ich habe gerade gesehen, dass da noch was fehlt.

Der Teil zum Refreshen des Dokuments (damit der Anhang angeziegt wird) so aussehen:

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)
     Delete uidoc 'Referenz auf das alte Frontend-Dokument löschen      
      Set Doc = NewUiDoc.Document
      Call doc.RemoveItem( "SaveOptions" )
   End If

Axel
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Axel am 23.02.06 - 16:35:06
Mal 'ne ganz andere Frage. Warum brichst du dir die Finger ab, nur um ein paar Dateien anzuhängen. Mach's doch mit der Formelsprache.


@If(@IsError(@Command([EditInsertFileAttachment]));
       @Do(@Command([EditGotoField]; "Anhang");@Command([EditInsertFileAttachment]));
       ""
)


Da hast du keine Probleme mit der Aktualisierung, kannst mehrere Dateien anhängen und auch noch einstellen ob diese komprimiert in der DB gespeichert werden sollen.


Axel
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 23.02.06 - 16:56:38
@axel:

Weil mein Lotus Script Lehrgang gute 3 Monate her ist, und ich seitdem, unerwarteterweise, so gut wie gar nicht mehr gekommen bin, meine Kenntnisse auszuweiten, und das ganze etwas zu lernen.

Und jetzt bietet sich eben die Gelegenheit dazu, ehe ich alles wieder vergessen habe.
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Axel am 23.02.06 - 19:25:09
Allerdings hast du dir gerade eine Ecke mit vielen Fallstricken ausgesucht.

RTF-Felder sind in der Beziehung sehr störrisch. Ich hatte vor kurzem ein ganz ähnliches Problem und habe es auch versucht mit Script zu lösen. Irgendwann habe ich dann aber einen Strich druntergemacht, den Tonnendeckel aufgemacht und das Script da rein gehauen. Herausgekommen ist dann die Formel aus meiner vorigen Antwort.

Axel
 
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Silent_Bob am 24.02.06 - 08:19:23
Ich wusste nicht, dass das jetzt ein extrem Problematischer Fall ist.

Ich versuch mich jetzt lieber Stück für Stück an kleineren Problemen. Überprüfen auf die Korrektheit eines eingegebenen Strings oder so...
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: dgerhardt am 24.02.06 - 09:52:24
Stimmt. Ob man jetzt SaveOptions="1" setzt, oder
Call doc.RemoveItem( "SaveOptions" ).
geht beides, und kommt auch aufs selbe raus.

Allerdings hat die ganze Choose noch einen Schönheitsfehler: Es wird nur ein Anhang in dem Feld zugelassen, alle weiteren Anhänge, die man evtl. noch da einfügen möchte, werden in einem seperaten bereich unter der Maske abgelegt.... !?

Also der Schönheitsfehler liegt wohl darin, daß bei einem neuen Doc noch kein RT-Feld im Backend vorhanden ist. Es ist zwar in der Maske, aber dadurch, das diese ja noch nicht gespeichert wurde, gibt es das Objekt (Feld) noch nicht im Backend. Deshalb bekommst Du auch mit "GetFirstItem" die Fehlermeldung "Object variale not set". Mit der Eigenschaft doc.isnewnote kann man abfragen, ob es sich um ein neues Doc handelt.

If doc.isnewnote then
     Set anhang = New NotesRichTextItem(doc, "anhang")
else
     Set anhang = doc.GetFirstItem("anhang")
End If

und...
Der Befehl "Call doc.Removeitem("SaveOptions")" ist nur dann möglich/sinnvoll, wenn dieses Feld auch nicht in der Maske vorhanden ist.

Ansonsten wird jedesmal beim Ausführen des Scriptes ein neues Feld namens "anhang" erzeugt, welches dann unterhalb der Maske angezeigt wird.
Probiers mal aus...

p.s. Es stimmt: RT-Felder sind im Scriptbereich wirklich schwierig. Aber du solltest in Deinen Selbsversuchen ruhig mehr damit machen. Versuche doch mal eine Tabelle oder formatierten Text in ein RT-Feld zu bringen. Gerade für Mailversand durch Agenten (z.B. Reminderfunktionen) ist das sehr wichtig.

VIEL ERFOLG
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Selin am 20.04.06 - 17:26:53
Hallo zusammen,

ich habe das Script mal auf meiner Anwendung ausprobiert.
Die Maske, in der ich das ausführe ist vom typ "Rückantwort"
Wenn ich dieses Script über eine Schaltfläche ausführe, speichert er mir das eigenständiges Dokument ab und nicht unter dem Hauptdokument.
Wenn ich die Maske speicher, ohne den Knopf zu klicken, macht er das ganz normal zuordnen.

Woran kann das liegen?

danke + Gruß
Selin
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: koehlerbv am 20.04.06 - 21:07:31
Welchen Code hast Du ausprobiert??

Wenn Du irgendwo das Dokument im Backend speicherst, ist das Verhalten normal: Die Eigenschaft  "Antwort" oder "Rückantwort" ist eine reine Frontend-Eigenschaft einer Maske, und im Backend musst Du logischerweise selbst für diese Eigenschaft sorgen.
NotesDokument.MakeResponse ist Dein Freund.

Bernhard
Titel: Re: Lotus Script Anfängerproblem...
Beitrag von: Selin am 21.04.06 - 12:04:30
Hallo Bernhard,

dieses Script habe ich bei mir eingefügt:

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( True, "Vorlagen", "*.dot", "C:\hallo.dot" )
   
   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)
      Delete uidoc 'Referenz auf das alte Frontend-Dokument löschen       
      Set Doc = NewUiDoc.Document
      doc.SaveOptions = "1"
   End If
End Sub

werde mir mal die Methode MakeResponse anschauen...
danke