Das Notes Forum
Lotus Notes / Domino Sonstiges => Tipps und Tricks => Thema gestartet von: Meff am 13.08.02 - 12:51:25
-
Falls Ihr mal einen Doclink an einen Outlook User senden wollt, dann probiert mal folgendes :
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim docID As String
Dim ReplicaID As String
Dim HintServer As String
Dim ViewID As String
Dim NoteID As String
Set db = session.CurrentDatabase 'Set db to the current Notes database (open)
Set uidoc = ws.Currentdocument
Set doc = uidoc.document
If doc.IsNewNote Then
Msgbox "This document has not been saved." & Chr$(10) & Chr$(10) & "Please save prior to mailing link!", 4112, "New Document"
Exit Sub
Else
docID = doc.UniversalID
End If
If db.server = "" Then
Msgbox "You are not allowed to send a link of a local database", 4112, "Local Links Not Allowed"
Exit Sub
Else
ReplicaID="<REPLICA " & Left$(db.ReplicaID, 8) & ":" & Right$(db.ReplicaID, 8) & ">"
End If
ViewID = ""
Forall x In db.Views
If x.IsDefaultView Then
ViewID = "<VIEW OF" & Left$(x.UniversalID, 8) &":"&Mid$(x.UniversalID, 9, 8)&"-"&"ON"&Mid$(x.UniversalID, 17, 8)&":"&Right$(x.UniversalID, 8)&">"
Exit Forall 'Once the default view is found, break out of the loop
End If
End Forall
If ViewID = "" Then
Msgbox "This database does not contain a default view." & Chr$(10) & Chr$(10) & "Please contact your database manager!", 4112, "Default View Not Found"
Exit Sub
End If
NoteID = "<NOTE OF" & Left$(docID, 8) &":"&Mid$(docID, 9, 8)&"-"&"ON"&Mid$(docID, 17, 8)&":"&Right$(docID, 8)&">"
HintServer = "<HINT>"& db.server &"</HINT>"
fileNum% = Freefile()
fileName$ = "c:\link.ndl"
Open fileName$ For Output As fileNum%
Write #fileNum%, "<NDL>"
Write #fileNum%, ReplicaID
Write #fileNum%, HintServer
Write #fileNum%, ViewID
Write #fileNum%, NoteID
Write #fileNum%, "</NDL>"
Close fileNum%
Meff :-)
-
:o
Hi Meff,
wennst mir das jetzt auch noch in einer Version zeigen kannst die den link sogleich als Attachment in ein email einbindet.... :knuddel:
Schönen Tag noch (& Dank im voraus?)
Gerhard
-
Das funktioniert aber nur dann gut, wenn der Anwender auch einen Notes Client installiert hat, sonst wird Outlook auch nicht viel mit der NDL anfangen können?! Denke ich....
Als Alternative kann man auch noch Http-Links versenden, falls der User HTTP-Zugang zum Notes-Server hat und die Notes-Anwendung webzugriffe entsprechend unterstützt.
Gruss
Chris
-
Da der Anwender zum Öffnen einen Notes-Client benötigt, reicht doch vermutlich auch schon der Einzeiler
url$ = notesDocument.NotesURL
Damit erspart man sich einige Fallen, die in deinem Code versteckt sind:
- Fehler bei mangelnden Schreibberechtigungen (statt C:\link.ndl sollte auf jeden Fall mit Environ("TEMP") das Temp-Verzeichnis als Speicherort gewählt werden.
- lange Wartezeiten für das Suchen nach dem Defaultview (das Öffnen eines Connection-Dokuments im öffentlichen Adreßbuch über eine Remote-Verbindung ist ein prickelndes Beispiel, wie man über alle forms läuft, um die Treiber in ein Feld zu schreiben - das zieht sich wie Kaugummi).
Gruß
Norbert