我想将一个表单(文档)放到EditMode = false;因此,当表单打开时,我想要修改任何字段等,直到我按下放置文档的按钮。在EditMode = true。
我的代码是这样的:
Sub Initialize Dim ws作为新的NotesUIWorkspace Dim uidoc作为NotesUIDocument Dim doc作为NotesDocument 设置uidoc = ws.CurrentDocument '设置doc = uidoc.Document
uidoc.EditMode = False
End Sub
我选择在Form的Initialize方法中编码...
但它不起作用,它给我一条消息:“文档命令不可用”。请帮助,我将不胜感激,谢谢。
答案 0 :(得分:3)
作为一般经验法则,不应在表单中使用Initialize事件。其中一个原因是,在Initialize运行时,表单未必完成加载所有内容。
此代码应放在QueryOpen事件中。
另一个最佳实践是不使用NotesWorkspace.CurrentDocument来获取当前表单的句柄,而是使用传递给QueryOpen事件的Source参数。 NotesWorkspace.CurrentDocument只应在代理程序和表单尚未在上下文中的其他位置使用。当前文档已经在上下文中时调用NotesWorkspace.CurrentDocument会导致Notes中的奇怪行为。
以下是一些应该有效的代码:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
If (Not Source Is Nothing) Then Source.EditMode = False
End Sub