0

我在工作中遇到了这个问题,我必须使用 iManage(又名 FileSite、DeskSite、WorkSite 等)做很多事情,也许您已经听说过。

无论如何,我要做的是编写一个 VBA 代码,该代码将能够根据其InFin编号(上传到 iManage 时分配给每个文件的 7 位数字)下载特定文件,然后放置文件某处; 例如,在桌面上。我知道 iManage 确实公开了一个对象模型,并且我已经将引用设置为IManExtLib.dll

我相信我需要的命令是Copy.Cmd(我不想从 WorkSite 中删除某些东西,而只想下载已执行任务的文件副本)。

任何帮助,将不胜感激。

4

1 回答 1

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
于 2017-11-06T17:15:38.073 回答