代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Domino
】
lotus notes 数据库中附件的批量导出
作者:
entry
/ 发布于
2014/7/25
/
1113
Public Class getAllNotesEmObject '------------------------------------------------------------------- '******功能: 可以在视图中直接提取文档中RTF域附件的类 ******* '------------------------------------------------------------------- Private filenum As Integer Private folder As String Private rtfField As String Private fileType As String Public doc As Notesdocument 'Private writeStr As String '=============设置文件夹路径============== Sub setFolder(f As String) folder=f End Sub '=============设置RTF域名称=============== Sub setRtfFieldName(rf As String) rtfField=rf End Sub '=============设置doc=============== Sub setDoc(document As Variant) Set doc=document End Sub Sub getObject(wStr1 As String) '------------------------------ '用法:getObject(域名A) '备注:域名A作为子文件夹存放不同的文件,注意各个文档的A要不同才不致于覆盖 '------------------------------ Dim s As New Notessession Dim db As Notesdatabase Dim eobject As Notesembeddedobject Dim rtfitem As Variant Dim item1,item2 As notesitem Dim tempName As String Dim exportName As String Dim exportLastName As String Dim i,j,k ,m As Integer filenum=Freefile() k=0 '用来记录错误个数 m=1 '用来记录同名的文件数,默认为1 Set db=s.GetDatabase("d23dbl35","dbom\caiyi\chinao1.nsf") If folder="" Then Exit Sub On Error Resume Next '直接建立目录 Mkdir folder Set item1=doc.getfirstitem(wStr1) '子文件夹 writeStr=item1.values(0) Print "正在提取["+writeStr+"]的附件" Set rtfitem=doc.getfirstitem(rtfField) 'rtfField:RTF域的域名 j=0 Mkdir folder+"\"+writeStr Forall ob In rtfitem.Embeddedobjects '=========2005/07/07============= ' 修改为以附件的名称直接拆离即可 ob.Extractfile(folder+"\"+writeStr+"\"+ob.name) exportName=folder+"\"+writeStr+"\"+ob.name If exportName=exportLastName Then m=m+1 ob.Extractfile(Left(exportName,Len(exportName)-4)+"("+Cstr(m)+")"+Right(ob.name,4)) Else m=1 ob.Extractfile(exportName) End If exportLastName=exportName End Forall '==========写入错误日志=============== If Err=92 Then Open folder+"\faillog"+Cstr(Today)+".txt" For Output As fileNum Write #filenum%,writeStr+"没有附件"+newline k=1 End If '=============================== Err=0 Close filenum If k=1 Then k="部分有错误,请查看文件夹中faillog"+Cstr(Today)+".TXT的记录" Else k="" End If Print "提取完毕!请到"+folder+"文件夹中查找。"+k End Sub End Class Sub Initialize Dim s As New Notessession Dim db As Notesdatabase Dim doccol As Notesdocumentcollection Dim doc As Notesdocument Dim folder As String Set db=s.GetDatabase("d23dbl35","dbom\caiyi\chinao1.nsf") folder=Inputbox$("请填写保存路径,如C:\TEMP或C:","系统提示","c:\temp") If Trim(folder)="" Then Msgbox "保存路径有误,请重新运行程序",16+64,"系统提示" Else Set doccol=db.AllDocuments '此方法仅能用于代理方能正常运行。 If doccol.count>0 Then Set doc=doccol.Getfirstdocument() For i=1 To doccol.count Dim nToE As New getAllNotesEmObject '实例化自定义提取附件类 nToE.setRtfFieldName("Body") '定义附件RTF域 nToE.setfolder(folder) '定义保存路径 Set nToE.doc=doc '定义要提取附件的DOC nToE.getObject("OCRM") '使用自定义类中提取附件方法 Set nToE=Nothing '释放内存 Set doc=doccol.getnextdocument(doc) Next End If End If End Sub
试试其它关键字
批量导出
同语言下
.
LotusDomino页面自动注册用户
.
多 Notes 文档中附件批量汇总到 Notes 文档中
.
多 Notes 文档中附件批量导出到本地系统
.
使用lotusscript获得群组中的用户列表_lotus notes
.
利用程序增加角色
.
关闭计算机
.
检验数字域
.
利用程序获取计算机名称及登陆用户名
.
清理收件夹的代理Code for CleanupInbox agent
.
邮箱中显示中文等价名
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
entry
贡献的其它代码
(
10
)
.
生成WEB页面报表
.
Lotus中导出到EXCEL
.
l?o?t?u?s?数?据?用?j?a?v?a?程?序?导?入?导?出
.
通过web界面注册domino新用户
.
在linux下用脚本自动备份domino
.
notes数据导出到excel
.
把数字转化成中文大写
.
使用lotusscript发送mime格式邮件
.
lotus notes 数据库中附件的批量导出
.
C/S模式下导出当前VIEW的数据到EXCEL
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3