我正在寻找一种方法来创建一个超链接到一个特定的文件夹在工作网站。到目前为止,我只想出了一个宏来根据文件的数据库编号来链接文件,但是文件夹没有数据库编号(我想)。另一件事是,我希望在Outlook中打开文件夹(工作站点与Outlook连接,我们通过它访问文件夹)我试图实现的是在Excel中创建超链接,以便轻松访问文件夹(就像文件的超链接一样)。有谁知道这是不是可能的?如果是,我希望能有一个这样的代码示例。提前谢谢。
发布于 2017-11-20 17:53:11
是的这是可能的。
您没有提到您使用的是哪个版本的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-22 04:42:04
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 Subhttps://stackoverflow.com/questions/47371640
复制相似问题