OA文档附件如何修改?

xcair 2009-07-30 03:40:40
有一个oa文档,需要修改附件
...全文
1431 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcair 2009-08-05
  • 打赏
  • 举报
回复
谢谢大家了,问题已经解决了
yiyi_fish 2009-08-03
  • 打赏
  • 举报
回复
xuexi
cw11415 2009-08-02
  • 打赏
  • 举报
回复
我们用的是调用word程序
直接在上面修改,保留修改痕迹

里面的代码比较复杂,还没有细看

如果用附加文件的形式好像不能直接修改
huangwei1216 2009-08-01
  • 打赏
  • 举报
回复
这是我写过的一段 将office附件转换成mht代码 转换代码我就不贴出来了 下面的代码是处理附件的过程
其中 newFile 和aFileName 是文件的绝对路径 changWord()和changExcel() 是处理我文件转换的代码返回一个文件绝对路径 你分析一下下面的代码 你的问题能解决
Dim session As New NotesSession
Dim doc As NotesDocument
Dim embedobject As NotesEmbeddedObject
Dim aFileName As String

Set doc = session.DocumentContext
Dim mhtdb As New NotesDatabase("","weboa/common/docAttach.nsf")
Dim tview As NotesView
Dim ritem As NotesRichTextItem
Dim docmht As NotesDocument
Dim UID As String
Dim filetype As String
Dim newFile As String

'1,得到当前文档所有的附近
Dim v As Variant
v = Evaluate(|@AttachmentNames|,doc)
Forall x In v
Set embedobject = doc.GetAttachment(Cstr(x))

'2,将附件写入本地磁盘
aFileName = Curdir+"\"&Cstr(x)
Call embedobject.ExtractFile(aFileName)

'3,判断文件的类型
filetype=Lcase(Strrightback(aFileName,"."))
'4,根据类型 进行相应的转换
If filetype = "doc" Then
newFile = changWord(afileName)
Elseif filetype = "xls" Then
newFile = changExcel(afileName)
Else
newFile = ""
End If
If newFile <> "" Then
'5,将转换的文件上传到文档库中
Set docmht = mhtdb.CreateDocument
Call docmht.AppendItemValue("form","Attach")
Call docmht.AppendItemValue("DBPath","weboa/zongbu/docAttach.nsf")
Call docmht.AppendItemValue("DBDIr","weboa/zongbu")

Set ritem = docmht.GetFirstItem("Attachment")
If ritem Is Nothing Then
Set ritem = docmht.CreateRichTextItem("Attachment")
Elseif ritem.type <> RICHTEXT Then
Call docmht.RemoveItem( "Attachment" )
Set ritem = New NotesRichTextItem(docmht, "Attachment" )
End If

Set embedobject = docmht.GetAttachment(Strrightback(newFile,"\"))
If Not embedobject Is Nothing Then
Call embedobject.Remove()
End If
ritem.EmbedObject EMBED_ATTACHMENT,"",newFile
Call docmht.Save(True,False)
UID = docmht.UniversalId

doc.mhtuid=UID
doc.mhtName=Strrightback(newFile,"\")
Call doc.Save(True,False)

Kill newFile
Kill aFileName
End If
End Forall
numberlock 2009-07-31
  • 打赏
  • 举报
回复
CS模式
1.在Notes客户端支持修改后保存;
2.用VBA代码直接修改。
BS模式
1.修改后存在本地,然后再上传;
2.使用ActivX控件,直接打开doc文件修改。
xcair 2009-07-31
  • 打赏
  • 举报
回复
doc的,只要修改文字内容
numberlock 2009-07-31
  • 打赏
  • 举报
回复
看看这三个连接吧,我只是用过而已,没自己写过这样的代码。
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q311/7/65.asp&NoWebContent=1
http://topic.csdn.net/t/20040328/14/2895590.html
http://down.zdnet.com.cn/detail/2/11889.shtml
yymummy 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 numberlock 的回复:]
CS模式
1.在Notes客户端支持修改后保存;
2.用VBA代码直接修改。
BS模式
1.修改后存在本地,然后再上传;
2.使用ActivX控件,直接打开doc文件修改。
[/Quote]

BS模式下我一般是用第一中方法修改的
请问下第二种方法的话如何操作呢?
guo2478858 2009-07-30
  • 打赏
  • 举报
回复
看你附件是什么类型的啊?

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧