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