2017-11-18 1 views
0

Ich suche nach einem Weg, um einen Hyperlink zu einem bestimmten Ordner auf der Baustelle zu erstellen. Bis jetzt bin ich nur mit einem Makro gekommen, das Dateien auf der Grundlage ihrer Datenbanknummern verbindet, aber Ordner haben keine Datenbanknummern (glaube ich). Eine andere Sache ist, dass ich wollte, dass die Ordner auf Outlook geöffnet werden (Worksite ist mit Outlook verbunden und wir greifen darauf durch Ordner zu) Was ich versuche zu erreichen, erstellt Hyperlinks in Excel für den einfachen Ordnerzugriff (genau wie Hyperlinks zu Dateien). Hat jemand eine Ahnung, ob es überhaupt möglich ist? Wenn ja, würde ich ein Beispiel für einen Code dafür schätzen. Vielen Dank im Voraus.Hyperlink eines auf iManage gespeicherten Ordners

Antwort

1

Ja, es ist möglich.

Sie erwähnen nicht, mit welcher Version des iManage-Clients Sie arbeiten, aber ich gehe von FileSite 9.x aus. Mit diesem Client wird ein benutzerdefinierter Protokollhandler installiert, der ein benutzerdefiniertes URI-Schema unterstützt.

In der Tat können Sie einen Hyperlink mit Nur-Text erstellen, den Sie dann in Ihre Webseite einbetten können, oder einfach einen neuen Prozess in Windows starten, damit der Standard-Browser ihn lädt.

Der benutzerdefinierte Protokoll-Handler analysiert ihn und startet dann den iManage-Client, den er kann (in Ihrem Fall FileSite), und navigiert dann zum richtigen Ordner.

Format ist iwl:dms=[ServerName]&&lib=[DatabaseName]&&page=[FolderID]

Hier einige C#, die eine solche Zeichenfolge baut aus

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.. 
+0

'Mit Selection .Hyperlinks.Add Anker: = Auswahl, Adresse: =" iwl: dms = { serverName} && lib = {datenbankName} && num = {dat abaseNumber - 7 Ziffern} && ver = 1 && latest = 1 ", TextToDisplay: =" link "Ende mit' – CorpoKillsMe

+0

Hey. Vielen Dank für die Antwort. Das Hauptproblem, das ich habe, denke ich ist die Definition der ID des Ordners. Wo kann man eine solche Immobilie bekommen? Wenn Sie in Eigenschaften eines Ordners gehen, gibt es keine Informationen darüber. Dateien haben Datenbank-Nummern, die ich verwende, um in VBA einen Hyperlink zu erstellen - siehe oben – CorpoKillsMe

+0

Gibt es die Möglichkeit, die ImanFolder.FolderID mithilfe von ImanFolder.path zu durchlaufen? – CorpoKillsMe

0
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 
+0

Kann jemand dabei helfen? – CorpoKillsMe

Verwandte Themen