【问题标题】:Lotus Notes: Add Workspace Icon using LotusscriptLotus Notes:使用 Lotusscript 添加工作区图标
【发布时间】:2014-09-16 11:28:32
【问题描述】:

我想创建一个 LotusScript“脚本”,它将指定的数据库添加到用户工作区。创建这样的脚本,尤其是分发给用户的最佳方式是什么?用户拥有 Microsoft Outlook 电子邮件,但不使用 Lotus Notes 邮件。

【问题讨论】:

  • 可以选择打开 Notes 客户端吗?然后你可以调用一个 URL,比如 Notes://Server/Path/Database.nsf www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urls
  • 谢谢 Knut,我会采用这个解决方案。
  • 好。我将其添加为答案,因此您可以将此问题设置为已接受。

标签: outlook lotus-notes lotusscript


【解决方案1】:

您可以从可以发送给用户的电子邮件中调用像 Notes://Server/Path/Database.nsf 这样的 URL。

您可以找到有关 URL 语法here 的更多详细信息

【讨论】:

    【解决方案2】:

    在您的回答中,您有两个问题:创建脚本并分发它。

    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 或更早版本)中将数据库图标添加到工作区。

    【讨论】:

    • Knut 的建议是如此简单得多。我什至不明白这个答案是如何解决这个问题的。
    • @AndreGuirard 抱歉给您带来不便。我试图澄清我的答案。看看我的答案的更新版本。
    • 刚刚测试过:调用 URL Notes://... 确实在 8.5.3 和 9.0.1 版本中向工作区添加了数据库图标。
    • @KnutHerrmann 是的,它确实在版本 7 或更早版本中将数据库图标添加到工作区。
    • 哦,我明白了。我将其读作“这不会添加数据库图标-仅在早期版本中...” :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多