Autor Thema: Link-Hotspot  (Gelesen 2223 mal)

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Link-Hotspot
« am: 05.03.14 - 14:18:17 »
Hallo,

ich versuche grad einen Link auf eine Datei bzw VZ per Script zu erstellen.

Mit rtitem.AppendText( "file:\\" & "c:\test.txt") funktioniert die Sache sehr gut, aber dann wird als Link der Dateipfad "file:\\c:\test.txt" angezeit. Ich hätte da gerne z.B. "Link zur Datei" stehen.

Kann man per Script keinen Link-Hotspot erstellen? Habe im Forum leider nichts dazu gefunden.

Offline Dr 84

  • Frischling
  • *
  • Beiträge: 29
  • Geschlecht: Männlich
Re: Link-Hotspot
« Antwort #1 am: 05.03.14 - 14:36:40 »
Versuche mal mit  rtItem.AppendDocLink

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Link-Hotspot
« Antwort #2 am: 05.03.14 - 15:00:30 »
"Versuchen" kann man das, aber es endet in einem Type Mismatch.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Link-Hotspot
« Antwort #3 am: 05.03.14 - 20:28:49 »
Den Link als HTML erstellen (<a href=...>Link zur Datei</a>) und dann anfügen.
Wie das geht, habe ich hier beschrieben:
http://atnotes.de/index.php/topic,52040.0.html
Zitat
- Durch Setzen von session.convertMime = true wird beim nächsten Zugriff auf das Item (über doc.getFirstItem) das Mime-Item von Notes wieder in einen Richtext konvertiert. Dieses Item kann dann an ein anderes Richtext-Item angefügt werden.
Damit kann man z.B. speziell formatierte Texte/Links/Bilder/... an ein bestehendes RICHTEXT-Item anhängen.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Link-Hotspot
« Antwort #4 am: 05.03.14 - 20:44:15 »
Nette Spielereien gehen auch via DXL.

Bernhard

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: Link-Hotspot
« Antwort #5 am: 06.03.14 - 12:59:50 »
Hab ich mal fürs uidoc gemacht:

Code
Sub setWeblink(strFile$)
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	descrLink$=strLink$
	Set uidoc = ws.CurrentDocument
	fileNum% = Freefile()
	tmpFile$ = Environ$("temp")+"\~tmpFile.htm"
	Open tmpFile$ For Output As fileNum%
	Print #fileNum%,"<html><a href='" + strFile$ + "'>" + descrLink$ + "</a></html>"
	Close fileNum%
	If uidoc.CurrentField<>mailField$ Then uidoc.GotoField( mailField$ )
	Call uidoc.Import("HTML File",tmpFile$)
End Sub

Aufruf mit

Code
Sub Click(Source As Button)
	URL$=Inputbox$("URL:","Internet-Link verknüpfen")
	If URL$<>"" Then Call setWebLink(URL$)
End Sub

Edit: die Feldbezeichnung für das RT-Feld, in die der Link importiert werden soll muss natürlich noch als Konstante gesetzt werden oder als Parameter übergeben werden:

Code
Public Const mailField$="Body"
oder
Code
Sub setWeblink(strFile$, mailField$)
« Letzte Änderung: 06.03.14 - 13:04:50 von jo@chim »
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: Link-Hotspot
« Antwort #6 am: 06.03.14 - 13:10:22 »
Ups, ging ja um Netzwerkdateien:

Code
Sub setFileLink()	
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	n$ = String$(1024, " ")
	ret% = NEMGetFile( 0, n$,"" , dlgTitle$)
	If ret% = 0 Then Exit Sub
	strFile$ = Fulltrim(n$)
	If Mid$(strFile$,2,1)=":" Then strFile$=Fulltrim(GetUNCPath(Left$(strFile$,2)))+Right$(strFile$,Len(strFile$)-2)
	If Left$(strFile$,2)<>"\\" Then Exit Sub
	tmpStrFile$=Escape(strFile$)
	Set uidoc = ws.CurrentDocument
	fileNum% = Freefile()
	tmpFile$ = Environ$("temp")+"\~tmpFile.htm"
	
	Open tmpFile$ For Output As fileNum%
	Print #fileNum%, |<html><meta http-equiv="content-type" content="text/html" charset="iso-8859-1">
	<a href="file:///| +tmpstrFile$ + |" >|+ strFile$ + |</a></html>| 
	Close fileNum%
	If uidoc.CurrentField<>mailField$ Then uidoc.GotoField( mailField$ )
	Call uidoc.Import("HTML File",tmpFile$)
End Sub

In den Declarations in diesem Fall:

Code
Declare Function NEMGetFile Lib "NNOTESWS" Alias "NEMGetFile" _
( Z As Integer, Byval N As Lmbcs String, Byval F As Lmbcs String, Byval T As Lmbcs String ) As Integer
Dim UNC As String * 512
Declare Function WNetGetConnection Lib "mpr.dll" Alias _
"WNetGetConnectionA" _
(Byval lpszLocalName As String, _
Byval lpszRemoteName As String, _
cbRemoteName As Long) As Long

Das müsste man dann halt mit obigem zusammenführen...
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz