Hallo zusammen
Habe mich schon oft gefragt ob es möglich wäre einen Agenten im Designer über Werkzeuge aufzurufen der dann mit dem selektierten Designelement irgendetwas anstellen kann. Heute habe ich mal so etwas gemacht:
Formel für Werkzeug:
Server:="NS1";
DBName:="DesignerTools.nsf";
@LaunchApp("Notes");
@Command([FileOpenDatabase];Server:DBName);
@Command( [RunAgent];"agDesignerTool1")
In Datenbank DesignerTools.nsf auf Server NS1:
Agent: agDesignerTool1
@LaunchApp("Designer");
@Command([EditDocument]);
@UpdateFormulaContext;
DBName:=@Implode(@Name([CN];@DbName);";");
NoteID:=@Text(@NoteID);
@Command([CloseWindow]);
@Environment("SelectedDB";DBName);
@Environment("SelectedNoteID";NoteID);
@LaunchApp("Notes");
@Command([RunAgent];"agCopyDesign");
@Command([CloseWindow]);
@LaunchApp("Designer");
@All
Agent: agCopyDesign
Sub Initialize
Dim session As New NotesSession
Dim dbDesign As NotesDatabase
Dim db As NotesDatabase
Dim strDBPath As String
Dim strNoteID As String
Dim docDesign As NotesDocument
strDBPath=session.GetEnvironmentString("SelectedDB")
strNoteID=session.GetEnvironmentString("SelectedNoteID")
strNoteID=Right(strNoteID,Len(strNoteID)-2)
Set db=session.CurrentDatabase
Set dbDesign=session.GetDatabase(Strtoken(strDBPath,";",1),Strtoken(strDBPath,";",2),False)
Set docDesign=dbDesign.GetDocumentByID(strNoteID)
If docDesign Is Nothing Then
Msgbox "Nicht gefunden!",,"Fehler!"
Else
docDesign.CopyToDatabase db
End If
End Sub
Hoffe kann jemand etwas damit anfangen. Glaube ich werde noch meinen Spass damit haben.
PS: Habe Code mal etwas umgebaut.
Gruss
Remo