1

我正在寻找一种方法来创建指向 Worksite 中特定文件夹的超链接。到目前为止,我只根据数据库编号提出了一个宏链接文件,但文件夹没有数据库编号(我认为)。另一件事是我希望在 Outlook 中打开文件夹(Worksite 与 Outlook 连接,我们通过它访问文件夹)我试图完成的是在 Excel 中创建超链接以便于文件夹访问(就像文件的超链接一样)。有人知道它是否可能吗?如果是的话,我会很感激这个代码的例子。提前致谢。

4

2 回答 2

2

是的,这是可能的。

您没有提及您正在使用哪个版本的 iManage 客户端,但我将假设 FileSite 9.x。与该客户端一起安装的是支持自定义 URI 方案的自定义协议处理程序。

实际上,这允许您使用纯文本编写超链接,然后您可以将其嵌入到您的网页中,或者只是在 Windows 中启动一个新进程以让默认浏览器加载它。

自定义协议处理程序将对其进行解析,然后启动它可以启动的任何 iManage 客户端(在您的情况下为 FileSite),然后导航到正确的文件夹。

格式为iwl:dms=[ServerName]&&lib=[DatabaseName]&&page=[FolderID]

这是一些构建出这样一个字符串的 C#

var serverName = "MYSERVERNAME";
var databaseName = "MYDBNAME"; 
var serverName = "1234"; // internal numeric ID of folder (MHGROUP.PROJECTS.PRJ_ID in database, or IManFolder.FolderID via iManage COM API object model

var sb = new StringBuilder("iwl:");

sb.Append($"dms={serverName}");
sb.Append("&&");

sb.Append($"lib={databaseName}");
sb.Append("&&");

sb.Append($"page={serverName}");

// sb.ToString() will now output the hyperlink reference to your folder which you can pass to your web browser..
于 2017-11-20T09:53:10.527 回答
1
Sub Folder_link

Dim dmsIM As IManDMS
Dim dmsS As IManSession
Dim dmsD As IManDatabase
Dim FdR As IManFolder
Dim FdrLoc As String
Dim FdrID As Long

Const ServerName As String = <DMS name>
Const DatabaseName As String = <DatabaseName>
FdrLoc = "\\{DMS name}\{DatabaseName}\Main Folder\SubFolder\SubSubFolder\TargetFolderName"

Set dmsIM = New ManDMS
Set dmsS = dmsIM.Sessions.Add(ServerName)
dmsS.TrustedLogin

Set dmsD = dmsS.Databases.ItemByName(DatabaseName)

Set Fdr = Imanage.ImanFolder.Location (FdrLoc)

FdrID = Fdr.FolderID

With ThisWorkBook.WorkSheets(1).Range("A1")
    .Hyperlinks.Add _
    Anchor:=Selection, _
    Address:="iwl:dms={serverName}&&lib={databaseName}&&page=" & FdrID, _
    TextToDisplay:="link" 
End With

End Sub
于 2017-11-21T20:42:03.783 回答