• LotusScript Class to Access Design Elements


















    Formula Or
    Script? :
    Lotus
    Script

    Entered
    by:
    Doug Hancock
    Design
    Element in Notes:
    Other
    Date Entered
    :
    2000-03-28
    Title of the
    Formula:
    LotusScript Class to
    Convieniently Access Design Elements
    %REM
    ****************************************************************************************************************
    This
    library was originally created by Damien Katz of Iris Associates, Aug.
    1999

    This library may be freely distributed, modified and used only if
    this header is kept intact,
    unchanged and is distributed with the contents
    of the library.

    Please share any fixes or enhancements and send them to
    Damien_katz@iris.com so I can add
    it the library.

    If you find this
    library useful, send me a mail message and let me know what you're using it
    for.

    Thanks.

    ****************************************************************************************************************

    NOTE:

    To instantiate a new DatabaseDesign object, do not attempt to instantiate it
    directly,
    instead call the createDatabaseDesign method, it will return a new
    instantiated object.

    %END REM

    'Set this flag to true to always use
    the platform independent method
    Const FLAG_NEVER_USE_NATIVE_API_CALLS
    =False

    Const DESIGN_NOTE_NAME_ITEM = "$TITLE"

    Const
    NOTE_CLASS_DOCUMENT = &H0001 ' document note
    Const NOTE_CLASS_DATA =
    NOTE_CLASS_DOCUMENT ' old name for document note
    Const NOTE_CLASS_INFO =
    &H0002 ' notefile info (help-about) note
    Const NOTE_CLASS_FORM =
    &H0004 ' form note
    Const NOTE_CLASS_VIEW = &H0008 ' view note

    Const NOTE_CLASS_ICON = &H0010 ' icon note
    Const NOTE_CLASS_DESIGN =
    &H0020 ' design note collection
    Const NOTE_CLASS_ACL = &H0040 ' acl
    note
    Const NOTE_CLASS_HELP_INDEX = &H0080 ' Notes product help index
    note
    Const NOTE_CLASS_HELP = &H0100 ' designer's help note
    Const
    NOTE_CLASS_FILTER = &H0200 ' filter note
    Const NOTE_CLASS_FIELD =
    &H0400 ' field note
    Const NOTE_CLASS_REPLFORMULA = &H0800 '
    replication formula
    Const NOTE_CLASS_PRIVATE = &H1000

    Const
    NOTE_CLASS_ALLNONDATA = &H7FFE

    Const DESIGN_FLAG_ADD = "A"
    Const
    DESIGN_FLAG_ANTIFOLDER = "a" ' VIEW: Indicates that a view is an antifolder view

    Const DESIGN_FLAG_BACKGROUND_FILTER = "B" ' FILTER: Indicates
    FILTER_TYPE_BACKGROUND is asserted
    Const DESIGN_FLAG_INITBYDESIGNONLY="b" ' VIEW: Indicates view can be initially built only by designer and above
    Const
    DESIGN_FLAG_NO_COMPOSE = "C" ' FORM: Indicates a form that is used only for

    ' query by form (not on compose menu).
    Const DESIGN_FLAG_CALENDAR_VIEW =
    "c" ' VIEW: Indicates a form is a calendar style view.
    Const
    DESIGN_FLAG_NO_QUERY = "D" ' FORM: Indicates a form that should not be used in
    query by form
    Const DESIGN_FLAG_DEFAULT_DESIGN = "d" ' ALL: Indicates the
    default design note for it"s class (used for VIEW)
    Const
    DESIGN_FLAG_MAIL_FILTER = "E" ' FILTER: Indicates FILTER_TYPE_MAIL is asserted

    Const DESIGN_FLAG_PUBLICANTIFOLDER = "e" ' VIEW: Indicates that a view is a
    public antifolder view
    Const DESIGN_FLAG_FOLDER_VIEW = "F" ' VIEW: This is a
    V4 folder view.
    Const DESIGN_FLAG_V4AGENT = "f" ' FILTER: This is a V4 agent

    Const DESIGN_FLAG_VIEWMAP = "G" ' VIEW: This is
    ViewMap/GraphicView/Navigator
    Const DESIGN_FLAG_OTHER_DLG = "H" ' ALL:
    Indicates a form that is placed in Other... dialog
    Const
    DESIGN_FLAG_V4PASTE_AGENT = "I" ' FILTER: This is a V4 paste agent
    Const
    DESIGN_FLAG_IMAGE_RESOURCE = "i" ' FORM: Note is a shared image resource

    Const DESIGN_FLAG_JAVA_AGENT = "J" ' FILTER: If its Java
    Const
    DESIGN_FLAG_JAVA_AGENT_WITH_SOURCE = "j" ' FILTER: If it is a java agent with
    java source code.
    Const DESIGN_FLAG_LOTUSSCRIPT_AGENT = "L" ' FILTER: If its
    LOTUSSCRIPT
    Const DESIGN_FLAG_DELETED_DOCS = "l" ' VIEW: Indicates that a
    view is a deleted documents view
    Const DESIGN_FLAG_QUERY_MACRO_FILTER = "M"
    ' FILTER: Stored FT query AND macro
    Const DESIGN_FLAG_SITEMAP = "m" '
    FILTER: This is a site(m)ap.
    Const DESIGN_FLAG_NEW = "N" ' FORM: Indicates
    that a subform is listed when making a new form.
    Const
    DESIGN_FLAG_HIDE_FROM_NOTES = "n" ' ALL: notes stamped with this flag
    'will
    be hidden from Notes clients
    'We need a separate value here
    'because it
    Is possible To be
    'hidden from V4 AND to be hidden
    'from Notes, and
    clearing one
    'should not clear the other
    Const
    DESIGN_FLAG_QUERY_V4_OBJECT = "O" ' FILTER: Indicates V4 search bar query object
    - used in addition to "Q"
    Const DESIGN_FLAG_PRIVATE_STOREDESK = "o" ' VIEW:
    If Private_1stUse, store the private view in desktop
    Const
    DESIGN_FLAG_PRESERVE = "P" ' ALL: related to data dictionary
    Const
    DESIGN_FLAG_PRIVATE_1STUSE = "p" ' VIEW: This is a private copy of a private on
    first use view.
    Const DESIGN_FLAG_QUERY_FILTER = "Q" ' FILTER: Indicates
    full text query ONLY, no filter macro
    Const DESIGN_FLAG_AGENT_SHOWINSEARCH =
    "q" ' FILTER: Search part of this agent should be shown in search bar
    Const
    DESIGN_FLAG_REPLACE_SPECIAL = "R" ' SPECIAL: this flag is the opposite of
    DESIGN_FLAG_PRESERVE, used
    'only for the "About" and "Using" notes + the icon
    bitmap in the icon note
    Const DESIGN_FLAG_PROPAGATE_NOCHANGE = "r" ' DESIGN:
    this flag is used to propagate the prohibition of design change
    Const
    DESIGN_FLAG_V4BACKGROUND_MACRO = "S" ' FILTER: This is a V4 background agent

    Const DESIGN_FLAG_SCRIPTLIB = "s" ' FILTER: A database global script library
    note
    Const DESIGN_FLAG_VIEW_CATEGORIZED = "T" ' VIEW: Indicates a view that
    is categorized on the categories field
    Const DESIGN_FLAG_DATABASESCRIPT =
    "t" ' FILTER: A database script note
    Const DESIGN_FLAG_SUBFORM = "U" ' FORM:
    Indicates that a form is a subform.
    Const DESIGN_FLAG_AGENT_RUNASWEBUSER =
    "u" ' FILTER: Indicates agent should run as effective user on web

    Const
    DESIGN_FLAG_PRIVATE_IN_DB = "V" ' ALL: This is a private element stored in the
    database
    Const DESIGN_FLAG_WEBPAGE = "W" ' FORM: Note is a WEBPAGE
    Const
    DESIGN_FLAG_HIDE_FROM_WEB = "w" ' ALL: notes stamped with this flag
    'will be
    hidden from WEB clients
    ' WARNING: A formula that build Design Collecion
    relies on the fact that Agent Data"s
    '$Flags is the only Desing Collection
    element whose $Flags="X"
    Const DESIGN_FLAG_V4AGENT_DATA = "X" ' FILTER: This
    is a V4 agent data note
    Const DESIGN_FLAG_SUBFORM_NORENDER = "x" ' SUBFORM:
    indicates whether
    'we should render a subform in
    'the parent form

    Const DESIGN_FLAG_NO_MENU = "Y" ' ALL: Indicates that folder/view/etc.
    should be hidden from menu.
    Const DESIGN_FLAG_SACTIONS = "y" ' Shared
    actions note
    Const DESIGN_FLAG_MULTILINGUAL_PRESERVE_HIDDEN = "Z" ' ALL:
    Used to indicate design element was hidden
    ' before the "Notes Global
    Designer" modified it.
    ' (used with the "!" flag)
    Const
    DESIGN_FLAG_FRAMESET = "#" ' FORM: Indicates that this is a frameset note

    Const DESIGN_FLAG_MULTILINGUAL_ELEMENT = "!"' ALL: Indicates this design
    element supports the
    ' "Notes Global Designer" multilingual addin
    Const
    DESIGN_FLAG_JAVA_RESOURCE = "@" ' FORM: Note is a shared Java resource
    Const
    DESIGN_FLAG_HIDE_FROM_V3 = "3" ' ALL: notes stamped with this flag
    ' will be
    hidden from V3 client
    Const DESIGN_FLAG_HIDE_FROM_V4 = "4" ' ALL: notes
    stamped with this flag
    ' will be hidden from V4 client
    Const
    DESIGN_FLAG_HIDE_FROM_V5 = "5" ' FILTER: "Q5"= hide from V4.5 search list
    '
    ALL OTHER: notes stamped with this flag
    ' will be hidden from V5 client

    Const DESIGN_FLAG_HIDE_FROM_V6 = "6" ' ALL: notes stamped with this flag

    'will be hidden from V6 client
    Const DESIGN_FLAG_HIDE_FROM_V7 = "7" '
    ALL: notes stamped with this flag
    'will be hidden from V7 client
    Const
    DESIGN_FLAG_HIDE_FROM_V8 = "8" ' ALL: notes stamped with this flag
    'will be
    hidden from V8 client
    Const DESIGN_FLAG_HIDE_FROM_V9 = "9" ' ALL: notes
    stamped with this flag
    'will be hidden from V9 client
    Const
    DESIGN_FLAG_MUTILINGUAL_HIDE = "0" ' ALL: notes stamped with this flag
    'will
    be hidden from the client
    'usage is for different language
    'versions of
    the design list to be
    'hidden completely


    ' These are the flags
    that help determine the type of a design element.
    ' These flags are used to
    sub-class the note classes, and cannot be
    ' changed once they are created
    (for example, there is no way to change
    ' a form into a subform).


    Const DESIGN_FLAGS_SUBCLASS = "UW#yi@GFXstm"

    ' These are the
    flags that can be used to distinguish between two
    ' design elements that have
    the same class, subclass (see DESIGN_FLAGS_SUBCLASS),
    ' and name.


    Const DESIGN_FLAGS_DISTINGUISH = "nw3456789"

    Const
    ERR_BASE_CLASS_INSTANTIATED = 10452
    Const ERR_BASE_CLASS_INSTANTIATED_MESSAGE
    = "You cannot instantiate this class directly"

    Public Class
    DatabaseDesign
    'PUBLIC MEMBERS
    Public cacheDocuments As
    Integer

    'PRIVATE MEMBERS
    Private db As NotesDatabase
    Private forms
    As Variant
    Private views As Variant
    Private filters As Variant
    Private
    fields As Variant

    Sub new( database As NotesDatabase)
    If
    isAbstractClass Then
    'this prevents the base class from being instantiated
    directly
    Error ERR_BASE_CLASS_INSTANTIATED,
    ERR_BASE_CLASS_INSTANTIATED_MESSAGE
    End If
    Set db =
    database
    cacheDocuments = True
    End Sub

    Private Function
    isAbstractClass As Integer
    'this must be overridden and return false
    'this
    prevents the base class from being instantiated directly
    isAbstractClass =
    True
    End Function

    'PUBLIC PROCEDURES

    Property Get formDocuments
    As Variant
    FormDocuments = getDesignDocuments( NOTE_CLASS_FORM, "*[" &
    DESIGN_FLAGS_SUBCLASS & "]*", True)
    End Property

    Property Get
    subformDocuments As Variant
    subformDocuments = getDesignDocuments(
    NOTE_CLASS_FORM, "*[" & DESIGN_FLAG_SUBFORM & "]*", False)
    End
    Property

    Property Get pageDocuments As Variant
    pageDocuments =
    getDesignDocuments( NOTE_CLASS_FORM, "*[" & DESIGN_FLAG_WEBPAGE & "]*",
    False)
    End Property

    Property Get imageDocuments As
    Variant
    imageDocuments = getDesignDocuments( NOTE_CLASS_FORM, "*[" &
    DESIGN_FLAG_IMAGE_RESOURCE & "]*", False)
    End Property

    Property
    Get javaResourceDocuments As Variant
    javaResourceDocuments =
    getDesignDocuments( NOTE_CLASS_FORM, "*[" & DESIGN_FLAG_JAVA_RESOURCE
    &"]*", False)
    End Property

    Property Get allDesignDocuments As
    Variant
    allDesignDocuments = getDesignDocuments( _
    NOTE_CLASS_FORM Or
    _
    NOTE_CLASS_VIEW Or _
    NOTE_CLASS_ICON Or _
    NOTE_CLASS_HELP Or
    _
    NOTE_CLASS_FILTER Or _
    NOTE_CLASS_FIELD Or _
    NOTE_CLASS_REPLFORMULA
    Or _
    NOTE_CLASS_INFO Or _
    NOTE_CLASS_HELP _
    ,"*[X]*", True )
    End
    Property

    Property Get viewDocuments As Variant
    viewDocuments =
    getDesignDocuments( NOTE_CLASS_VIEW, "*["&DESIGN_FLAGS_SUBCLASS & "]*",
    True )
    End Property

    Property Get folderDocuments As
    Variant
    folderDocuments = getDesignDocuments( NOTE_CLASS_VIEW, "*["&
    DESIGN_FLAG_FOLDER_VIEW & "]*", False )
    End Property

    Property Get
    navigatorDocuments As Variant
    navigatorDocuments = getDesignDocuments(
    NOTE_CLASS_VIEW, "*["& DESIGN_FLAG_VIEWMAP & "]*", False )
    End
    Property

    Property Get framesetDocuments As Variant
    FramesetDocuments =
    getDesignDocuments( NOTE_CLASS_FORM, "*[" & DESIGN_FLAG_FRAMESET & "]*",
    False )
    End Property

    Property Get scriptLibraryDocuments As
    Variant
    scriptLibraryDocuments = getDesignDocuments( NOTE_CLASS_FILTER, "*["
    & DESIGN_FLAG_SCRIPTLIB & "]*", False )
    End Property

    Property
    Get agentDocuments As Variant
    agentDocuments = getDesignDocuments(
    NOTE_CLASS_FILTER, "*[" & DESIGN_FLAGS_SUBCLASS & "]*", True)
    End
    Property

    Property Get databaseScriptDocuments As
    Variant
    databaseScriptDocuments = getDesignDocuments( NOTE_CLASS_FILTER, "*["
    & DESIGN_FLAG_DATABASESCRIPT & "]*", False)
    End
    Property

    Property Get outlineDocuments As Variant
    outlineDocuments =
    getDesignDocuments( NOTE_CLASS_FILTER, "*[" & DESIGN_FLAG_SITEMAP &
    "]*", False)
    End Property

    Property Get sharedFieldDocuments As
    Variant
    sharedFieldDocuments = getDesignDocuments( NOTE_CLASS_FIELD, "*",
    False)
    End Property

    Property Get replicationSettingsDocuments As
    Variant
    replicationSettingsDocuments =
    getDesignDocuments(NOTE_CLASS_REPLFORMULA, "*", False)
    End
    Property

    Property Get sharedActionDocuments As
    Variant
    sharedActionDocuments = getDesignDocuments(NOTE_CLASS_FORM , "*["
    & DESIGN_FLAG_SACTIONS & "]*", False)
    End Property

    Property
    Get iconDocuments As Variant
    iconDocuments =
    getDesignDocuments(NOTE_CLASS_ICON , "*", False)
    End
    Property

    Property Get helpAboutDocuments As Variant
    helpAboutDocuments
    = getDesignDocuments(NOTE_CLASS_INFO , "*", False)
    End
    Property

    Property Get helpUsingDocuments As Variant
    helpUsingDocuments
    = getDesignDocuments(NOTE_CLASS_HELP , "*", False)
    End
    Property

    'PUBLIC METHODS
    Public Function getFormByName( formname As
    String) As NotesDocument
    Set getFormByName = findElementByTitle( formname,
    Me.formDocuments)
    End Function

    Public Function getViewByName( formname
    As String) As NotesDocument
    Set getViewByName = findElementByTitle( formname,
    Me.viewDocuments)
    End Function

    Public Function getFramesetByName(
    formname As String) As NotesDocument
    Set getFramesetByName =
    findElementByTitle( formname, Me.framesetDocuments)
    End
    Function

    Public Function getFolderByName( formname As String) As
    NotesDocument
    Set getFolderByName = findElementByTitle( formname,
    Me.folderDocuments)
    End Function

    Public Function
    getScriptLibraryByName( formname As String) As NotesDocument
    Set
    getScriptLibraryByName = findElementByTitle( formname,
    Me.scriptLibraryDocuments)
    End Function

    Public Function
    getImageByName( formname As String) As NotesDocument
    Set getImageByName =
    findElementByTitle( formname, Me.imageDocuments)
    End Function

    Public
    Function getNavigatorByName( formname As String) As NotesDocument
    Set
    getNavigatorByName = findElementByTitle( formname, Me.navigatorDocuments)
    End
    Function

    Public Function getJavaResourceByName( formname As String) As
    NotesDocument
    Set getJavaResourceByName = findElementByTitle( formname,
    Me.javaResourceDocuments)
    End Function

    Public Function
    getOutlineByName( formname As String) As NotesDocument
    Set getOutlineByName =
    findElementByTitle( formname, Me.outlineDocuments)
    End Function

    Public
    Function getAgentByName( formname As String) As NotesDocument
    Set
    getAgentByName = findElementByTitle( formname, Me.agentDocuments)
    End
    Function

    Public Function getPageByName( formname As String) As
    NotesDocument
    Set getPageByName = findElementByTitle( formname,
    Me.pageDocuments)
    End Function

    Public Function getSubformByName(
    formname As String) As NotesDocument
    Set getSubformByName =
    findElementByTitle( formname, Me.subformDocuments)
    End Function

    Public
    Function getSharedFieldByName( formname As String) As NotesDocument
    Set
    getSharedFieldByName = findElementByTitle( formname,
    Me.sharedFieldDocuments)
    End Function











    Inside of a Domino Database
    exists data documents and design documents. The design documents are the forms,
    views, agents, etc that make up a databases design. The standard Notes classes
    allow easy access to the data documents, but do not provide any easy methods for
    accessing the design.

    The purpose of the DatabaseDesign class is to
    allow you easy access to the design documents in a DominoDatabase in
    LotusScript. It returns the design documents, at which point they can be
    examined, modified, copied to other databases or deleted. The documents are
    returned as standard NotesDocument objects, so once retrieved you can perform
    any operation on them that is allowed in a regular NotesDocument.

    ---How
    To Use ---
    To use the DatabaseDesign class, you must first copy and paste the
    DBDesign script library into the database where you wish to use it.
    Inside of
    a Domino Database exists data documents and design documents. The design
    documents are the forms, views, agents, etc that make up a databases design. The
    standard Notes classes allow easy access to the data documents, but do not
    provide any easy methods for accessing the design.

    The purpose of the DatabaseDesign class is to allow you easy access to the design documents in a DominoDatabase in LotusScript. It returns the design documents, at which point they can be examined, modified, copied to other databases or deleted. The documents are returned as standard NotesDocument objects, so once retrieved you can perform any operation on them that is allowed in a regular NotesDocument.

    ---How To Use ---
    To use the DatabaseDesign class, you
    must first copy and paste the DBDesign script library into the database where
    you wish to use it.

    Then in the script which you need to use the library,
    add this line to the Options section.

    Use "DBDesign"

    Then to
    instantiate a new DatabaseDesign object, call the createDatabaseDesign
    function.

    Dim session as New NotesSession
    Dim db as
    NotesDatabase
    Dim dbDesign as DatabaseDesign
    Set db =
    session.currentDatabase
    Set dbDesign = createDatabaseDesign( db)

    'To
    get all the forms in a database, simply get the formDocuments
    property.

    Dim forms as variant
    forms =
    dbDesign.formDocuments

    'Check to make sure there are forms before
    processing
    If Not IsEmpty( forms) Then
    Forall formdoc In forms
    'This
    prints out all the form names
    print formdoc.getItemValue( "$Title")(0)

    end Forall
    End If

    ' To get a specific form in a database, pass in
    the form name to the getFormByName method.

    Dim form as
    NotesDocument
    set form = dbDesign.getFormByName( "MyForm")

    If Not form
    Is Nothing Then
    'do something with form here
    End If

    'To copy a
    design element to another database, use the NotesDocument.copyToDatabase
    method

    dim otherdb as new NotesDatabase( "server", "file.nsf")

    set
    form = dbDesign.getFormByName( "FormToCopy")

    If Not form Is Nothing
    Then
    dim formcopy as NotesDocument
    set formcopy =
    form.copytodatabase(otherdb)
    call formcopy.save(true, true)
    End
    If




    ---Properties---
    Property agentDocuments as
    Variant
    Returns all agents as an array of NotesDocuments. If none could be
    retrieved, it returns a empty variant.

    Property cacheDocuments as
    Integer
    This is a readable and writable property. When true, it caches the
    retrieval of design notes in memory to speed up subsequent retrievals. It is
    true by default.

    Property databaseScriptDocuments as Variant
    Returns
    all database scripts as an array of NotesDocuments, typically there will be only
    one per database. If none could be retrieved, it returns a empty variant. Read
    only.

    Property folderDocuments as Variant
    Returns all folders as an
    array of NotesDocuments. If none could be retrieved, it returns a empty variant.
    Read only.

    Property formDocuments as Variant
    Returns all forms as an
    array of NotesDocuments. If none could be retrieved, it returns a empty variant.
    Read only.

    Property framesetDocuments as Variant
    Returns all framesets
    as an array of NotesDocuments. If none could be retrieved, it returns a empty
    variant. Read only.

    Property helpAboutDocuments as Variant
    Returns all
    help about documents as an array of NotesDocuments, typically there will be only
    one per database.. If none could be retrieved, it returns a empty variant. Read
    only.

    Property helpUsingDocuments as Variant
    Returns all help using
    documents as an array of NotesDocuments, typically there will be only one per
    database.. If none could be retrieved, it returns a empty variant. Read
    only.

    Property iconDocuments as Variant
    Returns all database icons as
    an array of NotesDocuments, typically there will be only one per database.. If
    none could be retrieved, it returns a empty variant. Read only.

    Property
    imageDocuments as Variant
    Returns all images as an array of NotesDocuments.
    If none could be retrieved, it returns a empty variant. Read
    only.

    Property javaResourceDocuments as Variant
    Returns all Java
    resources/applets as an array of NotesDocuments. If none could be retrieved, it
    returns a empty variant. Read only.

    Property navigatorDocuments as
    Variant
    Returns all navigators as an array of NotesDocuments. If none could
    be retrieved, it returns a empty variant. Read only.

    Property
    outlineDocuments as Variant
    Returns all outlines as an array of
    NotesDocuments. If none could be retrieved, it returns a empty variant. Read
    only.

    Property pageDocuments as Variant
    Returns all pages as an array
    of NotesDocuments. If none could be retrieved, it returns a empty variant. Read
    only.

    Property replicationSettingsDocuments as Variant
    Returns all
    replication settings as an array of NotesDocuments. If none could be retrieved,
    it returns a empty variant. Read only.

    Property scriptLibraryDocuments as
    Variant
    Returns all script libraries as an array of NotesDocuments. If none
    could be retrieved, it returns a empty variant. Read only.

    Property
    sharedFieldDocuments as Variant
    Returns all shared fields as an array of
    NotesDocuments. If none could be retrieved, it returns a empty variant. Read
    only.

    Property subformDocuments as Variant
    Returns all subforms as an
    array of NotesDocuments. If none could be retrieved, it returns a empty variant.
    Read only.

    Property viewDocuments as Variant
    Returns all views as an
    array of NotesDocuments. If none could be retrieved, it returns a empty variant.
    Read only.

    ---Methods---
    Public Function designDocumentAliases( doc As
    NotesDocument) As Variant
    Will return as string array containing a design
    documents title and all its aliases.

    Public Function getFormByName(
    formName As String) As NotesDocument
    If available, it returns the form whose
    name or alias matches formName, otherwise it returns Nothing.

    Public
    Function getViewByName( formName As String) As NotesDocument
    If available, it
    returns the view whose name or alias matches formName, otherwise it returns
    Nothing.

    Public Function getFramesetByName( formName As String) As
    NotesDocument
    If available, it returns the frameset whose name or alias
    matches formName, otherwise it returns Nothing.

    Public Function
    getFolderByName( formName As String) As NotesDocument
    If available, it
    returns the folder whose name or alias matches formName, otherwise it returns
    Nothing.

    Public Function getScriptLibraryByName( formName As String) As
    NotesDocument
    If available, it returns the script library whose name or alias
    matches formName, otherwise it returns Nothing.

    Public Function
    getImageByName( formName As String) As NotesDocument
    If available, it returns
    the image whose name or alias matches formName, otherwise it returns
    Nothing.

    Public Function getNavigatorByName( formName As String) As
    NotesDocument
    If available, it returns the navigator whose name or alias
    matches formName, otherwise it returns Nothing.

    Public Function
    getJavaResourceByName( formName As String) As NotesDocument

    If available, it returns the java resource whose
    name or alias matches formName, otherwise it returns Nothing.

    Public
    Function getOutlineByName( formName As String) As NotesDocument
    If available,
    it returns the outline whose name or alias matches formName, otherwise it
    returns Nothing.

    Public Function getAgentByName( formName As String) As
    NotesDocument
    If available, it returns the agent whose name or alias matches
    formName, otherwise it returns Nothing.

    Public Function getPageByName(
    formName As String) As NotesDocument
    If available, it returns the page whose
    name or alias matches formName, otherwise it returns Nothing.

    Public
    Function getSubformByName( formName As String) As NotesDocument
    If available,
    it returns the subform whose name or alias matches formName, otherwise it
    returns Nothing.

    Public Function getSharedFieldByName( formName As
    String) As NotesDocument
    If available, it returns the shared field whose name
    or alias matches formName, otherwise it returns
    Nothing.





    steven

  • 相关阅读:
    hadoop 伪分布式执行 mapreduce 任务时报 running beyond physical memory或者beyond vitual memory limits
    hadoop 伪分布式 yarn resourcemanager 无法启动
    ESP-ADF相关学习笔记
    ESP32 ADF windows开发环境搭建 适配ADF到ESP32A1S(转)
    ESP32音频输入-MAX4466,MAX9814,SPH0645LM4H,INMP441(翻译)
    itest(爱测试)开源接口测试&敏捷测试&极简项目管理 6.6.6 发布,新增接口mock
    开源一站式敏捷测试管理,极简项目管理平台 itest(爱测试) 6.6.2 发布,便捷迫切功能增强
    开源一站式敏捷测试管理平台 itest(爱测试) 6.6.1 发布,安全升级及新增强
    开源一站式敏捷测试管理&极简项目管理 itest(爱测试) 6.6.0 发布 ,新增拖拽生成接口测试断言
    Hyper-V Server + Windows Admin Center
  • 原文地址:https://www.cnblogs.com/hannover/p/2467191.html
Copyright © 2020-2023  润新知