2017-11-18 7 views
0

작업 사이트의 특정 폴더에 대한 하이퍼 링크를 만드는 방법을 찾고 있습니다. 지금까지 데이터베이스 번호를 기반으로 파일을 링크하는 매크로 만 만들었지 만 폴더에는 데이터베이스 번호가 없습니다 (필자 생각). 또 다른 한 가지는 Outlook에서 폴더를 열려고했습니다 (Worksite는 Outlook과 연결되어 있으며 폴더를 통해 액세스합니다) 내가 수행하려고하는 작업은 Excel에서 파일에 대한 하이퍼 링크처럼 쉽게 폴더에 액세스 할 수 있도록 하이퍼 링크를 만드는 것입니다. 심지어 가능하다면 아무도 단서가 있습니까? 그렇다면 코드에 대한 예제를 알려 주시면 감사하겠습니다. 미리 감사드립니다. iManage에 저장된 폴더를 하이퍼 링크로 연결

답변

1

예 가능합니다.

작업중인 iManage 클라이언트의 버전은 언급하지 않았지만 FileSite 9.x라고 가정합니다. 해당 클라이언트와 함께 설치되면 사용자 지정 URI 체계를 지원하는 사용자 지정 프로토콜 처리기가 설치됩니다.

실제로이 기능을 사용하면 웹 페이지에 포함 할 수있는 일반 텍스트로 하이퍼 링크를 구성하거나 기본 브라우저에서로드 할 수 있도록 Windows에서 새 프로세스를 시작할 수 있습니다.

사용자 지정 프로토콜 처리기는이를 구문 분석 한 다음 iManage 클라이언트 (사용자의 경우 FileSite)를 시작한 다음 올바른 폴더로 이동합니다. = 선택, 주소 : = "IWL : DMS = {

형식은 다음

iwl:dms=[ServerName]&&lib=[DatabaseName]&&page=[FolderID] 같은 문자열을

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

'선택 .Hyperlinks.Add 앵커 함께 빌드 일부 C 번호입니다입니다 serverName} && lib = {databaseName} && num = {dat abaseNumber - 7digits} && ver = 1 && latest = 1 ", TextToDisplay : ="링크 "End With ' – CorpoKillsMe

+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 내가 생각한 주된 문제는 폴더의 ID를 정의하는 것입니다. 어디에서 그러한 자산을 얻을 수 있습니까? 폴더 속성에 들어갈 때 정보가 없습니다. 내가 VBA에서 하이퍼 링크로 사용하는 파일 데이터베이스 번호 - 위의 내용을 참조하십시오. – CorpoKillsMe

+0

VBA ImanFolder.FolderID를 통해 Id를 얻는 것이 가능합니다. 예를 들어 ImanFolder.path를 사용하면됩니까? – 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

아무도 도움이 될 수 있습니까? – CorpoKillsMe