我在工作中遇到了这个问题,我必须用iManage(又名FileSite,DeskSite,WorkSite等)做很多事情,也许你已经听说过了。
无论如何,我要做的是写一个VBA代码,它能够根据InFin
号码下载特定文件(上传时分配给每个文件的7位数字)到iManage)然后将文件放在某处;例如,在桌面上。
我知道iManage确实暴露了一个对象模型,我已经将引用设置为IManExtLib.dll
我相信我需要的命令是Copy.Cmd
(我不想从WorkSite中删除某些内容,而只是为执行的任务下载文件的副本)。
任何帮助都将不胜感激。
答案 0 :(得分:2)
假设您已经有一个DMS会话,您需要获取您尝试获取的文档的IManDocument对象,然后调用GetCopy方法。例如,以下内容检索文档号123456的物理副本到临时文件夹。请注意,您需要添加对IManage.dll的引用,而不是IManExtLib.dll。
Dim dmsRoot As IManDMS
Dim dmsSession As IManSession
Dim dmsDatabase As IManDatabase
Dim doc As IManDocument
Dim tempDocName As String
Const ServerName As String = "YourDMS"
Const DatabaseName As String = "YourDatabaseName"
Const DocNumToFind = 123456
Const DocVerToFind = 1
tempDocName = "C:\temp\mydoc.doc"
Set dmsRoot = New ManDMS
Set dmsSession = dmsRoot.Sessions.Add(ServerName)
dmsSession.TrustedLogin
Set dmsDatabase = dmsSession.Databases.ItemByName(DatabaseName)
Set doc = dmsDatabase.GetDocument(DocNumToFind, DocVerToFind)
doc.GetCopy tempDocName, imGetCopyOptions.imNativeFormat