um eine hartverdrahtete Vorlage zu nutzen, könnte man folgendes tun, in einem Agent natürlich, der über ein Smarticon per @command([toolsrunmacro];"(AgentXYZ)") aufgerufen wird.
für eine Vorlage, die stets in der gleichen DB liegt, in der auch der User arbeitet:
Dim Session as New NotesSession
Dim DB As NotesDatabase
Set DB = Session.currentdatabase
Dim VorlageDoc As NotesDocument
Dim ProfileDocument As NotesDocument
Dim var_unid as String
'in einem Profildoc ist die DocUNID des 1 Vorlagedocs gespeichert, diese benötigt man, um das Vorlagedoc im Script zu fokussieren
Set ProfileDocument = DB.GetProfileDocument( "PROFIL_XYZ")
var_unid = Feld_Mit_DocUNID_Der_Vorlage(0)
'und hier bekomme ich das Vorlagendoc
Set VorlageDoc = DB.GetDocumentByUNID( var_unid )
'und hier kopiert man das Vorlagendoc in ein neues Doc
Call VorlageDoc.CopyToDatabase( DB )
'der letzte Abschnitt ruft das neue Doc im Editmode in das Frontend des Users auf
Dim uiws As New notesuiworkspace
Dim noteUIEditDocument As notesuidocument
Set noteUIEditDocument = uiws.Editdocument(False, VorlageDoc)
Für eine Vorlage, die stets in einer zentralen DB liegt, und der User die Vorlage in seiner persönlichen DB zum Erstellen von Docs verwendet:
Dim Session as New NotesSession
Dim ZielDB as NotesDatabase
Set ZielDB = Session.currentdatabase
Dim VorlageDB As NotesDatabase
Set VorlageDB = New NotesDatabase( "Server_123", "Zentral.nsf" )
Dim VorlageDoc As NotesDocument
Dim ProfileDocument As NotesDocument
Dim var_unid as String
Set ProfileDocument = VorlageDB.GetProfileDocument( "PROFIL_XYZ")
var_unid = Feld_Mit_DocUNID_Der_Vorlage(0)
Set VorlageDoc = VorlageDB.GetDocumentByUNID( var_unid )
Call VorlageDoc.CopyToDatabase( ZielDB )
Dim uiws As New notesuiworkspace
Dim noteUIEditDocument As notesuidocument
Set noteUIEditDocument = uiws.Editdocument(False, VorlageDoc)
Müßte so gehen, habs nicht ausgetestet.
Warum ich die DocUNID genommen habe, ergibt sich aus dieser Überlegung:
http://nsftools.com/tips/NotesTips.htm#noteids