具体需求如下:
A文档是一个已经存在的文档,另外一个表单中用到上传控件,想在提交的时候本省不保存,而直接把上传的附件保存到A文档中。
注:这样做的目的是为了多人可同时上传,并且避免复制冲突。本人已知的方法是 得到 NotesEmbeddedObject 对象后 使用 ExtractFile 将附件放到服务器物理路径上,之后用NotesRichTextItem对象的EmbedObjec方法将服务器物理路径上的附件在加到Rtf域中。但次方法不好,是否用办法可以直接复制附件,请高手指教!万分感谢!
自己找到答案了,好像没有别的办法,只有先拆分到服务器再加入rtf域。好麻烦
Sub Initialize
Dim s As New notesSession
Dim doc As notesDocument
Set doc = s.documentContext
Call WebMoveAttachment(Doc, "<Your Rich Text Field Name>")
End Sub
函数如下:
Function WebMoveAttachment(doc As notesDocument, Byval moveToFieldName As String)
' This function moves a file attached via the Web with the File Upload Control to a rich text field.
Dim s As New notesSession
Dim tempDir As String
Dim v2FileNames As Variant
Dim i As Integer
Dim attachedFile As notesEmbeddedObject
Dim filePath As String
Dim rtItem As notesRichTextItem
tempDir = s.getEnvironmentString("Directory", True)
' Put a trailing slash at the end of the directory if it is needed
If Instr(tempDir, "/") <> 0 And Right(tempDir, 1) <> "/" Then tempDir = tempDir & "/"
If Instr(tempDir, "\") <> 0 And Right(tempDir, 1) <> "\" Then tempDir = tempDir & "\"
' Get the names of all the attachments (1 or more)
v2FileNames = Evaluate("@AttachmentNames", doc)
For i = Lbound(v2FileNames) To Ubound(v2FileNames)
If v2FileNames(i) <> "" Then ' Make sure it's a valid file name
Set attachedFile = doc.getAttachment(v2FileNames(i))
filePath = tempDir & v2FileNames(i)
' Save the file on the server
Call attachedFile.extractFile(filePath)
' Create the rich text item and re-attach the file
If doc.hasItem(moveToFieldName) Then
Set rtItem = doc.getFirstItem(moveToFieldName)
' Add a couple of lines to the rich text field before re-attaching the file
Call rtItem.addNewLine(2)
Else
Set rtItem = New notesRichTextItem(doc, moveToFieldName)
End If
Call rtItem.embedObject(1454, "", filePath)
' Delete the file(s) from the server file system
Kill filePath
End If
Next ' Move on to the next file name
End Function
运行本函数需要充许执行无限制的代理
请教,如何将A文档的附件拷贝的B文档中?
转载于:https://www.cnblogs.com/xuxu7325/archive/2007/05/16/748615.html