在您的回答中,您有两个问题:创建脚本并分发它。
0。用于添加数据库图标的 LotusScript
您可以使用NotesUIWorkspace.AddDatabase 方法将数据库图标添加到用户工作区:
Dim ws As New NotesUIWorkspace
'...
ws.AddDatabase("Your DB0 Server", "Your DB0 FilePath")
ws.AddDatabase("Your DB1 Server", "Your DB1 FilePath")
ws.AddDatabase("Your DB2 Server", "Your DB2 FilePath")
'...
1.分发任何脚本
您可以将Notes URL 发送给将运行您的脚本的用户。为此,您需要创建一个 Form,它在 PostOpen 事件中运行您的脚本:
Sub Postopen(Source As Notesuidocument)
Dim ws As New NotesUIWorkspace
'Your script here
Call ws.CurrentDocument.Close
End Sub
所以,最好用这种形式创建个人资料文档并将该文档的 URL 发送给用户:
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim mdoc As NotesDocument
Dim body As NotesMIMEEntity
Dim stream As NotesStream
Dim nname As NotesName
Set db = ses.CurrentDatabase
Set doc = db.GetProfileDocument("YourProfileDocument")
ses.ConvertMIME = False
Set mdoc = db.CreateDocument
mdoc.SendTo = "Your_users_mail@domain.foo"
mdoc.Subject = "Take a look"
Set stream = ses.CreateStream
Set body = mdoc.CreateMIMEEntity
Set nname = ses.CreateName(db.Server)
Call stream.WriteText({Please open this <a href="} & {notes://} & nname.Common & {/} & db.ReplicaID & {/-/} & doc.UniversalID & {">link</a>.})
Call body.SetContentFromText(stream, "text/html;charset=utf-8", ENC_IDENTITY_8BIT)
Call mdoc.Send(False)
另一方面,如果您只想添加一些数据库而不进行任何计算,那么您不需要这样的脚本。正如Knut Herrmann建议的那样:
您可以只调用像 Notes://Server/Path/Database.nsf 这样的 URL。
但请注意,它不会在早期版本的 Lotus Notes(7 或更早版本)中将数据库图标添加到工作区。