• 使用LotusScript删除私有文件夹


    'DECLARATIONS
    Const APIModule = "NNOTES"
    ' Windows/32 only
    Const NOTE_CLASS_VIEW= &H0008
    Declare Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" ( Byval NullPort As Long, Byval Server As String, Byval FIle As String, Byval PathNet As String) As Integer

    Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" ( Byval PathName As String, DbHandle As Long) As Integer
    Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" ( Byval DbHandle As Long) As Integer
    Declare Function NIFFindPrivateDesignNote Lib APIModule Alias "NIFFindPrivateDesignNote" ( Byval hdb As Long, Byval NoteName As String, Byval NoteClass As Integer, NoteID As Long ) As Integer

    Sub DeletePrivateView(db As NotesDatabase, vname As String)
    ' To open a Domino database on a server, use this function to create
    ' the full path specification, and pass this specification as input to NSFDbOpen
    ' or NSFDbOpenExtended.
    p$ = String(1024, " ")
    OSPathNetConstruct 0, db.Server, db.FilePath, p$
    ' This function takes a pathname to an existing Domino database or database
    ' template (whether on a Lotus Domino Server or a local database), opens the
    ' database, and returns a handle to it. All subsequent access to the database is
    ' carried out via this handle. Use NSFDbClose to close the database file handle
    ' and deallocate the memory associated with it.
    Dim hDB As Long
    NSFDbOpen p$, hDB
    ' Given the name and NOTE_CLASS_xxx of a private design note (form, view,
    ' folder, helpindex, macro, field, or replication formula ), this function returns the note ID.
    ' Uses the View or Folder name passed to it - vname.
    Dim retNoteID As Long
    Dim result As Integer
    result = NIFFindPrivateDesignNote(hDB, vname, NOTE_CLASS_VIEW, retNoteID)
    'If result is anything other than 0, the Private Design Note could not be found
    If result = 0 Then
    Dim doc As NotesDocument
    ' Get the Private View or Folder by its NoteID
    Set doc = db.GetDocumentByID( Hex$(retNoteID) )
    Call doc.Remove( True )
    Print "Removing : " & vname
    End If
    ' This function closes a previously opened database.
    NSFDbClose hDB
    End Sub

    测试:

    Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim db As NotesDatabase

    Set db = s.CurrentDatabase

    ' Pass the name of the Private View or Folder to delete
    Call DeletePrivateView(db, "CustomQuery")
    End Sub

  • 相关阅读:
    vue vxetable表格
    Microsoft Visual Studio 配置汇编语言开发环境
    前端代码工程学
    面向未来的100项颠覆性技术创新
    打印程序
    A Sketch of the Biggest Idea in Software Architecture
    2021 年年度最佳开源软件
    如何让一个层垂直居中
    最佳Icon图标库推荐,收藏等于学会
    asp.net mvc框架之Filter的使用
  • 原文地址:https://www.cnblogs.com/blackbean/p/2539810.html
Copyright © 2020-2023  润新知