如何用程序遍歷批量nsf的設計元素?

问题描述

如何用程序遍歷批量nsf的設計元素,獲取這些設計元素的一些屬性(FROM,VIEW,AGENT,SCRIPTLIBRARIES),比如更新日期,prohibitdesignrefresh。非常感謝!!

解决方案

解决方案二:
认真学习下类NotesNoteCollection及相关连的类,具体参考设计帮助文档
解决方案三:
搜索一下openNTF,上面有样例代码我见过上面有通过ls引入dll,直接用原生notescapi获取所有设计元素的例子
解决方案四:
做各视图呗视图选择:SELECT@IsAvailable($Title)&@IsAvailable($Flags)简单功能里面就有一些简单属性,如作者,创建日期,上次更新时间元素名称:$Title元素类型:$Flags。这个类型不是直接写的FORM,agent。具体太多,拿我们程序里面写好的公式给你看吧@If(@IsAvailable($FORMULA);@If(@Contains($Flags;"F");"Folder";"View");@Contains($Flags;"f");"Agent";@Contains($Flags;"s");"ScriptLibray";@Contains($Flags;"#");"Frameset";@Contains($Flags;"U");"SubForm";@Contains($Flags;"W");"Page";@Contains($Flags;"m");"Outline";@Contains($Flags;"t");"DatabaseScript";@Contains($Flags;"i");"Image";$Title="$ACTIONS";"ShareAction";"Form")是否允许刷新:@If(@Contains($Flags;"P");"否";"是")然后用程序直接遍历视图就可以了
解决方案五:
搜索下DXL技术
解决方案六:
引用3楼mabao669的回复:

做各视图呗视图选择:SELECT@IsAvailable($Title)&@IsAvailable($Flags)简单功能里面就有一些简单属性,如作者,创建日期,上次更新时间元素名称:$Title元素类型:$Flags。这个类型不是直接写的FORM,agent。具体太多,拿我们程序里面写好的公式给你看吧@If(@IsAvailable($FORMULA);@If(@Contains($Flags;"F");"Folder";"View");@Contains($Flags;"f");"Agent";@Contains($Flags;"s");"ScriptLibray";@Contains($Flags;"#");"Frameset";@Contains($Flags;"U");"SubForm";@Contains($Flags;"W");"Page";@Contains($Flags;"m");"Outline";@Contains($Flags;"t");"DatabaseScript";@Contains($Flags;"i");"Image";$Title="$ACTIONS";"ShareAction";"Form")是否允许刷新:@If(@Contains($Flags;"P");"否";"是")然后用程序直接遍历视图就可以了

那块板砖是我丢的,照你的办法拿不到设计元素,你是不是忘记介绍这种办法的运行环境了?自己搭个测试server试试,把详细过程发出来
解决方案七:
DimsessionAsNewNotesSessionDimdbAsNotesDatabaseSetsession=NewNotesSessionSetdb=session.GetDatabase("oa.server.com","Applictest.nsf")formCount=0formCountZU=0formCountZU1=0formCountZi=0msgString=""Ifdb.IsopenThen'数据库是否可以打开ForAllformsIndb.FormsformCount=formCount+1IfNotIsEmpty(forms)Then'数据库是否有设计表单formCountZU=formCountZU+1IfNotforms.IsSubFormThen'设计表单是否是子表单formCountZi=formCountZi+1IfNotIsEmpty(forms.Aliases)Then'设计表单是否定义别名formCountZU1=formCountZU1+1msgString=msgString&Chr(10)&""&forms.Name&"-"&forms.Aliases(0)EndIfEndIfEndIfEndForAllEndIfIfformCount>0ThenMessageBox"数据库【"&db.Title&"】有可用设计表单:"&formCount&"ZU:"&formCountZU&"ZU1:"_&formCountZU1&"Zi:"&formCountZi&"个"&msgStringElseMessageBox"数控库没有设计表单"EndIf
解决方案八:
'看来很多童鞋没注意到类:'举个设置所有元素禁止刷新的例子:FunctionProhibit_All_Design_Refresh(strServerAsString,strPathAsString)DimsessionAsNewNotesSessionDimdbAsNotesDatabaseDimviewAsNotesViewDimdcAsNotesDocumentCollectionDimdocAsNotesDocumentDimncAsNotesNoteCollectionDimstrNoteIDAsStringSetdb=session.GetDatabase(strServer,strPath)Setnc=db.CreateNoteCollection(False)Callnc.SelectAllDesignElements(True)Callnc.BuildCollectionstrNoteID=nc.GetFirstNoteID()Setdoc=db.GetDocumentByID(strNoteID)WhileNot(docIsNothing)Ifdoc.HasItem("$Flags")ThenIf(Instr(Ucase(Cstr(doc.GetItemValue("$Flags")(0))),"P"))<1ThenCalldoc.ReplaceItemValue("$Flags",Cstr(doc.GetItemValue("$Flags")(0))+"P")PrintCstr(doc.GetItemValue("$TITLE")(0))Calldoc.Save(True,False)EndIfEndIfstrNoteID=nc.GetNextNoteID(strNoteID)IfstrNoteID<>""ThenSetdoc=db.GetDocumentByID(strNoteID)ElseSetdoc=NothingEndIfWendMsgbox"Prohibit-All-Refresh-OK!",64,"Completed"EndFunction

时间: 2024-10-20 12:16:56

如何用程序遍歷批量nsf的設計元素?的相关文章

如何用C#写代码批量下载网页上提供的附件。

问题描述 如何用C#写代码批量下载网页上提供的附件. 在一个网页上有一个导出PDF文件的功能,是当点击这个按钮后,执行一个脚本,然后弹出文件下载另存为的对话框进文件的下载功能. 现在希望用C#实现自动批量的下载并保存这些PDF文件. 求实现方法,谢谢! 解决方案 用webclient.downloadfile或者httpwebrequest去下载. 解决方案二: 建议压缩成ZIP包后再下载. 解决方案三: 执行的是一个脚本,现在我可以实现通过代码模拟这个单击操作,执行这个脚本,但是如何能得到下载

注册表-64位操作系统下,如何用程序实现设置管理员权限和兼容性

问题描述 64位操作系统下,如何用程序实现设置管理员权限和兼容性 在线急用.目前有一个需要在U盘上运行的程序,通过注册表来实现管理员权限和兼容性设置,(注册表位置:HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers,需要设置键名称为可执行文件的全路径,键值为WINXPSP3 RUNASADMIN),在win7 32位系统上正常,可执行文件的全路径就是盘符+目录名+文件名,但是在win7 64

ASP.NET中如何用程序将excel中的数据导入到数据库中(C#)

问题描述 ASP.NET中如何用程序将excel中的数据导入到数据库中(C#),比较不同的时,excel只有一个表,里面是全部的详细信息,导入到sqlserver中的是多个表,这个如何实现?希望有具体的例子! 解决方案 解决方案二:大致原理:先将EXCEL导入GridView,然后再操作GridView中的数据存入数据库相应表中!在这里不能给你提供原码了,但你可以在Google内收到很多!解决方案三:用的是vs.net2003啊,应该如何?解决方案四:以下是我的一个真实的例子,供参考!<tr>

java-操作数据库的.exe程序,可以批量执行sql脚本文件

问题描述 操作数据库的.exe程序,可以批量执行sql脚本文件 求大神帮忙啊~用java可以做这个东西吗?完全没有思路啊,要求是可以操作局域网内的另一台电脑上的mysql数据库 解决方案 如果有访问权限的话,直接运行Runtime.getRuntime().exec("远程IP文件路径exe文件");如果没有,那可以先用java进行telnet连接到那台机器,然后调用exe程序,再不行就只能在远程机器上写webservice服务然后调用了. 解决方案二: 批量执行SQL脚本 解决方案三

caxa明细表提取-请教高手如何用程序(VB或C#)提取CAXA二维图纸标题栏和明细表信息

问题描述 请教高手如何用程序(VB或C#)提取CAXA二维图纸标题栏和明细表信息 请教高手如何用程序(VB或C#)提取CAXA二维图纸标题栏和明细表信息,我想做一个工具自动提取我们的CAXA标题栏和明细表信息,生成零部件清单等表格.请说出方法或思路,最好贴出代码,非常感谢!我有分的,好方法一定采纳.

如何用程序自动执行批处理文件?

问题描述 如何用程序自动执行批处理文件? 最经工作中,反复需要在dos命令行界面下,输入某些批处理命令,现在想写一个程序代替这部分 手动操作,想请教有没有让程序自动调用执行批处理文件的API函数,非常感谢. 解决方案 可以先把命令写在 bat 文件,然后设置 windows 计划任务 解决方案二: 直接写个C程序,在C程序中调用System(str)命令,str为DOS命令字符串 解决方案三: 用ShellExecute

算法-如何用程序实现文件分割,并且尽量高校

问题描述 如何用程序实现文件分割,并且尽量高校 现有文件1.8G,如何在Windows下实现高效的文件分割,使得每个文件的大小都不高于1G,语言不限,阐述算法思路也行,请大家帮忙解惑,感激不尽!

如何用程序将chrome打开指定网页,并获得网页的源代码,我想要操作里面的元素

问题描述 如何用程序将chrome打开指定网页,并获得网页的源代码,我想要操作里面的元素 解决方案 解决方案二:我不会,帮你顶上去

求助如何用程序新建一个物理表

问题描述 VF数据库,C#.NET如何用程序新建一个物理表.stringconnString=System.Configuration.ConfigurationSettings.AppSettings["VfpQZJ"];//连接串OdbcConnectionconn=newOdbcConnection();conn.ConnectionString=connString;conn.Open();//stringsql="CreateTablea1(vnointeger,n