Hallo,
ich möchte aus eineme RTF Feld das nur eine einziges OLE Objekt enthält aus ein Vorlagendatenbank herauskopieren und in mein aktuelles Body Field einfügen. Das klappt auch mit meinem Script perfekt. Aber sobald ich keine Editoren Rechte auf die Vorlagendatenbank ahbe um das Dokument in den Edit Modus zu setzen kann ich das nicht kopieren. Wie lässt sich das anders lösen damit das auch ohne Editoren Rechte auf die Vorlagendatenbank klappt?
Michael
Sub Initialize
On Error Goto errorHandler
Dim ws As New notesUIWorkspace
Dim uidoc As NotesUIDocument
Dim templateDB As notesdatabase
Dim session As New notesSession
Dim dc As NotesDocumentCollection
Dim templateDoc As notesDocument
Dim currentUIDoc As notesUIDocument
Set templateDB = session.getDatabase(session.CurrentDatabase.Server, "vorlagen2.nsf", False)
If templateDB Is Nothing Then
Messagebox "Vorlagendatenbank nicht gefunden."
Exit Sub
End If
Set dc = ws.PickListCollection( 3, False, templateDB.server, templateDB.filepath, "($All)", "Vorlage wählen", "Wählen Sie eine Vorlage." )
If dc.Count = 0 Then
Print "Keine Vorlage gewählt."
Exit Sub
End If
Set templateDoc = dc.getFirstDocument
Print "Gewählte Vorlage: "+templateDoc.subject(0)
Set currentUIDoc = ws.CurrentDocument
Set uidoc = ws.EditDocument(True, templateDoc)
Call uidoc.GotoField("Body")
Call uidoc.SelectAll
uidoc.document.saveOptions = "0"
Call uidoc.Copy
Call uidoc.close
Call currentUIDoc.GotoField("Body")
Call currentUIDoc.Paste
errorExit:
Exit Sub
errorHandler:
Print Cstr(Erl)+" "+Error$
Resume errorExit
End Sub
Ich habe das ganze nun gelöst. Alle Inhalte bis auf das Body Feld vor dem Kopieren geschützt und dann mit Formelsprache umgesetzt:
Einfach aber es funktioniert wie gewünscht
Michael
@Command( [EditGotoField] ; "Body" );
cAus := "Auswahl";
cAusTxt := "Bitte wählen Sie eine Vorlage aus";
cServer := @ServerName;
cDBName := "vorlagen2.nsf";
TBaustein := @PickList([Custom] : [Single] ; cServer : cDBName ; "($All)" ; cAus ; cAusTxt ; 4);
TBListe := @Trim(TBaustein);
@Command( [FileOpenDatabase]; cServer : cDBName; "($All2)";TBListe);
@PostedCommand([EditDocument]; "0");
@PostedCommand([EditCopy]);
@PostedCommand([FileCloseWindow]);
@PostedCommand([FileCloseWindow]);
@PostedCommand([EditPaste])