在Lotusscript中工作时,我希望我的用户无法通过按ctrl + p打印文档。取而代之的是,我提供了一个操作按钮,以便在打印文档之前执行一些额外的步骤。是否可以使用LotusScript或Java禁用直接打印(ctrl + p)。或者作为替代方案,有可能我们可以捕获ctrl + p事件,以便我们可以在进行实际打印之前添加代码。

我正在使用9.0.1FP8版

最佳答案

添加一个名为$ KeepPrivate的计算字段,其值为“ 1”。此字段阻止用户使用CTRL + P。

然后使用以下逻辑添加您自己的按钮:

Sub Click(Source As Button)

    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document
    Call doc.RemoveItem("$KeepPrivate")
    Call doc.Save(True,True)
    doc.SaveOptions = "0"
    Call uidoc.Close
    Set uidoc = ws.EditDocument(True,doc,False)
    Call uidoc.Print
    Dim item As New NotesItem(doc,"$KeepPrivate","1")
    Call uidoc.Save
    Call doc.Save(True,True)
    doc.SaveOptions = "0"

End Sub


此按钮将在后台更改$ KeepPrivate字段的值,并显示打印对话框。

07-24 15:49