Sub Initialize Set session = New NotesSession Set db = session.CurrentDatabase Set dc = db.UnprocessedDocuments Set doc = dc.GetFirstDocument Set rti = doc.GetFirstItem("Body") Set rtnav = rti.CreateNavigator If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then Messagebox "No doclinks in Body item",, "No doclinks" Exit Sub End If Set rtlink = rtnav.GetElement If rtlink.ViewUNID = String$(32, "0") Then Messagebox "Link does not have a view component",, _ "No view" Exit Sub End If Dim linkDb As New NotesDatabase("", "") If Not linkDb.OpenByReplicaID("", _ rtlink.DbReplicaID) Then Messagebox "No local replica",, "Cannot find database" Exit Sub End If Dim linkView As NotesView foundIt = False Forall view In linkDb.Views If view.UniversalID = rtlink.ViewUNID Then foundIt = True Set linkView = view Exit Forall End If End Forall If foundIt Then Messagebox linkView.Name,, "View name" Else Messagebox "Cannot locate view",, "No such view" End If End Sub
Sub Initialize Dim linkDb As New NotesDatabase ("", "") Dim linkView As NotesView Dim linkDc As NotesDocumentCollection Dim linkDoc As NotesDocument Dim foundView As Boolean Dim msg1 As String, msg2 As String ' Open the document containing the link Set session = New NotesSession Set db = session.CurrentDatabase Set dc = db.UnprocessedDocuments Set doc = dc.GetFirstDocument ' Get the doclink Set rti = doc.GetFirstItem("Body") Set rtnav = rti.CreateNavigator If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then Messagebox "No doclinks in Body item",, "No doclinks" Exit Sub End If Set rtlink = rtnav.GetElement If rtlink.ViewUNID = String$(32, "0") Then Messagebox "Link does not have a view component",, _ "No view" Exit Sub End If ' Find the view in the target database; get the handle to ' the next view in the database If Not linkDb.OpenByReplicaID("", _ rtlink.DbReplicaID) Then Messagebox "No local replica",, "Cannot find database" Exit Sub End If foundView = False Forall v In linkDb.Views If foundView Then ' get the next view Set linkView = v Exit Forall End If If v.UniversalID = rtlink.ViewUNID Then Set linkView = v msg1 = linkView.Name foundView = True End If End Forall ' Get the first document in the new view On Error Goto InvalidUNID Set linkDoc = linkView.GetFirstDocument ' change link rtlink.ViewUNID = linkView.UniversalID rtlink.DocUNID = linkDoc.UniversalID msg2 = linkDoc.Topic(0) & " in view: " & linkView.Name Messagebox "from document in view: " & _ msg1 & Chr(13) & "to " & msg2, , _ "Changing doclink" Call doc.Save (True, True) Exit Sub InvalidUNID: Messagebox "Cannot locate document",, "No document" Exit Sub End Sub