Hyperlink 超链接存储在iManager上的文件夹

Hyperlink 超链接存储在iManager上的文件夹,hyperlink,directory,imanage,worksite-sdk,Hyperlink,Directory,Imanage,Worksite Sdk,我正在寻找一种方法来创建一个超链接到一个特定的文件夹在工作地点。 到目前为止,我只提出了一个宏链接文件的基础上,他们的数据库编号,但文件夹没有数据库编号(我想)。 另一件事是我想在Outlook中打开文件夹(工作站点与Outlook连接,我们通过它访问文件夹) 我试图实现的是在Excel中创建超链接,以便轻松访问文件夹(就像文件的超链接一样)。 有人知道这是否可能吗?如果是的话,我希望能提供一个代码示例。 提前谢谢。是的,有可能 您没有提到正在使用哪个版本的iManager客户端,但我将假定使用

我正在寻找一种方法来创建一个超链接到一个特定的文件夹在工作地点。 到目前为止,我只提出了一个宏链接文件的基础上,他们的数据库编号,但文件夹没有数据库编号(我想)。 另一件事是我想在Outlook中打开文件夹(工作站点与Outlook连接,我们通过它访问文件夹) 我试图实现的是在Excel中创建超链接,以便轻松访问文件夹(就像文件的超链接一样)。 有人知道这是否可能吗?如果是的话,我希望能提供一个代码示例。 提前谢谢。

是的,有可能

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

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

自定义协议处理程序将对其进行解析,然后启动它可以启动的任何iManager客户端(在您的示例中为文件站点),然后导航到正确的文件夹

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

这里有一些C#构建了这样一个字符串

var serverName=“MYSERVERNAME”;
var databaseName=“MYDBNAME”;
var serverName=“1234”;//文件夹的内部数字ID(数据库中的MHGROUP.PROJECTS.PRJ_ID,或通过iManager COM API对象模型的IManFolder.FolderID
var sb=新的StringBuilder(“iwl:”);
sb.Append($“dms={serverName}”);
某人加上(&&);
sb.Append($“lib={databaseName}”);
某人加上(&&);
sb.Append($“page={serverName}”);
//sb.ToString()现在将输出对文件夹的超链接引用,您可以将其传递到web浏览器。。
子文件夹链接
将dmsIM设置为IManDMS
将DMS变暗为图像传输
暗dmsD作为Imanadabase
将FdR变暗为IManFolder
作为字符串的Dim FdrLoc
模糊的FdrID尽可能长
Const ServerName作为字符串=
常量DatabaseName作为字符串=
FdrLoc=“\\{DMS name}\{DatabaseName}\Main Folder\SubFolder\SubSubFolder\TargetFolderName”
设置dmsIM=新的ManDMS
设置dmsS=dmsIM.Sessions.Add(服务器名)
dmsS.TrustedLogin
设置dmsD=dmsS.Databases.ItemByName(DatabaseName)
设置Fdr=Imanage.ImanFolder.Location(FdrLoc)
FdrID=Fdr.FolderID
使用此工作簿。工作表(1)。范围(“A1”)
.Hyperlinks.Add_
锚定:=选择_
地址:=“iwl:dms={serverName}&&lib={databaseName}&&page=“&FdrID_
TextToDisplay:=“链接”
以
端接头

带Selection.Hyperlinks.Add锚定:=选择,地址:=“iwl:dms={serverName}&&lib={databaseName}&&num={dat‌​abaseNumber-7digits}&&ver=1&&latest=1“,TextToDisplay:=“link”以
Hey结束。非常感谢您的回复。我想我的主要问题是定义文件夹的ID。从哪里可以获得这样的属性。当您进入文件夹的属性时,没有关于的信息。文件有数据库编号,我使用这些编号在VBA中进行超链接-请参阅上面的ID。通过VBA ImanF可以获得这些ID例如,通过使用ImanFolder.path来访问older.FolderID?是的。如果您使用Excel、Word或PowerPoint,则可以通过引用本地安装在计算机上的iManage COM API(iManage.dll)来访问它。也许可以编辑此问题以澄清您当前如何从代码访问iManage对象模型(如果有的话)嘿。我已经发布了下面的代码,我正试图用它来构建一些东西。我正在努力解决ImanFolder的语法问题,我知道这是错误的。如果能得到一些帮助,那就太好了。我需要一个指向工作站点上某个文件夹的链接,但我唯一能使用的唯一值是位置。我得到了对Imanage库的引用。有人能帮忙吗?
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