2017-11-18 7 views
0

私は、作業現場の特定のフォルダへのハイパーリンクを作成する方法を探しています。 これまでのところ、データベース番号に基づいてファイルをリンクするマクロが出てきましたが、フォルダにはデータベース番号がありません(私は思っています)。 もう1つは、Outlookでフォルダを開きたいということです(WorksiteはOutlookに接続されており、フォルダにアクセスします) 私が達成しようとするのは、ファイルへのハイパーリンクのような簡単なフォルダアクセス用のハイパーリンクをExcelで作成することです。 誰でも手掛かりがありますか?はいの場合、私はこれのコードの例を感謝します。 ありがとうございます。iManageに保存されたフォルダへのハイパーリンク

答えて

1

はい、可能です。

あなたが使っているiManageクライアントのバージョンは言及していませんが、私はFileSite 9.xを前提としています。そのクライアントと共にインストールされるのは、カスタムURIスキームをサポートするカスタムプロトコルハンドラです。

実際には、プレーンテキストのハイパーリンクを作成してWebページに埋め込むことができます。また、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#だですサーバー名} && lib = {データベース名} && num = {dat abaseNumber - 7桁} && ver = 1 &&最新= 1 "、TextToDisplay:="リンク "End With ' – CorpoKillsMe

+0

返信に感謝します。私が考えている主な問題は、フォルダのIDを定義することです。どこでそのような財産を得ることができますか?あなたがフォルダのプロパティに入るときには何の情報もありません。私がVBAでハイパーリンクするのに使用するハブデータベースのファイル番号 - 上記を参照してください。 – CorpoKillsMe

+0

Id。ImanFolder.Pathを使用してVBA ImanFolder.FolderIDを取得できますか? – 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

関連する問題