首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮将文档复制到另一个视图

单击按钮将文档复制到另一个视图
EN

Stack Overflow用户
提问于 2019-04-18 06:32:25
回答 1查看 92关注 0票数 0

我有两个观点,那就是电脑和草稿。我在计算机视图中创建一个按钮,它是创建一个计算机文档的副本来起草视图。

下面是我的按钮代码。当我单击按钮时,它会说“对象变量未设置”。

代码语言:javascript
复制
Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim dc As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim view As NotesView

    Set db = session.CurrentDatabase
    Set view = db.GetView( "Draft" )
    Set doc = dc.GetFirstDocument()
    Set dc = db.AllDocuments
    While Not (doc Is Nothing)
        Call doc.CopyToDatabase(db)
        Set doc = dc.GetNextDocument(doc)
    Wend
End Sub

有谁可以帮我?我可以问,我是否需要在草案视图中插入任何公式?谢谢你的帮助!

更新问题

我发现了问题并修正了我的代码。但是,当我单击该按钮时,它会复制所有文档并显示在两个视图上。如何在仅选定的文档草稿中复制文档?例如,只使用“活动”文档?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 09:47:04

视图不包含文档。文档在数据库中,视图使用选择公式显示选定的文档。如果您的选择与所有文档匹配,则将显示所有文档。这个公式决定了哪些文档是视图的一部分。

如果视图A包含您的文档,而视图B不包含,则必须调整视图B中的选择公式,使其与文档匹配。

例如,如果希望当前文档显示在视图B中,可以向当前文档添加一个值,如DocumentViews,并将其设置为"B",并将视图B的选择公式设置为选择DocumentViews="B“。

现在,如果您想对当前在视图中选择的文档进行操作,可以使用NotesDatabase.UnprocessedDocuments属性。它包含所有选定文档的列表。

代码语言:javascript
复制
Dim ns As New NotesSession
Dim db As NotesDatabase
Set db= ns.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc= db.UnprocessedDocuments
Dim doc As NotesDocument
Set doc= dc.GetFirstDocument
Dim newdoc As NotesDocument
Do Until doc Is Nothing
    ' you might have to check the status of the current document before copying...
    Set newdoc= doc.CopyToDatabase(db)
    Call newdoc.ReplaceItemValue("Status", "Draft")
    Call newdoc.Save(True, False)
    Set doc= dc.GetNextDocument(doc)
Loop
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55740301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档