我正在寻找一种方法来创建指向Worksite中特定文件夹的超链接。 到目前为止,我只是根据数据库编号提出了一个宏链接文件,但是文件夹没有数据库编号(我认为)。 另一件事是我想在Outlook中打开文件夹(工作站与Outlook连接,我们通过它访问文件夹) 我试图完成的是在Excel中创建超链接以便于文件夹访问(就像文件的超链接一样)。 如果有可能,有人有线索吗?如果是的话,我会感谢一个代码的例子。 提前谢谢。
答案 0 :(得分:1)
是的,这是可能的。
您不会提及您正在使用的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..
答案 1 :(得分: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