Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: sja am 02.12.04 - 12:05:32

Titel: Ein String (Pfad zur Datei) in ein Verknüpfungs-Hotspot programmieren
Beitrag von: sja am 02.12.04 - 12:05:32
Hallo @all,

vielen Dank im Voraus für jede Hilfe.
Wie kann ich einen String in ein Verknüpfungs-Hotspot  verwandeln?
Ich habe das versucht mit EmbedObject( EMBED_OBJECTLINK …) s. Script
Und bekam in diesem Fall ein Objektlink.
Aber den String soll in ein Hyperlink verwandeln werden so, wie wenn ich hätte ihn in Zwischenablage gespeichert und dann Notes-Menü: Erstellen -> Hotspt- > Verknüpfungs-Hotspot ausgewählt hätte.

Sub Click(Source As Button)
   Dim ws As NotesUIWorkspace   
   Dim s As NotesSession
   Dim db As NotesDatabase
   Dim uidb As NotesDatabase
   Dim uiDocA As NotesUIDocument
   Dim docA As NotesDocument
   Dim filenames As Variant
   Dim object As NotesEmbeddedObject
   
   Dim rtitemA As NotesRichTextItem
   Set s = New NotesSession
   Set ws = New NotesUIWorkspace
   Set uidb = s.CurrentDatabase
   Set uiDocA = ws.CurrentDocument
   Call uiDocA.Save
   
   Set docA = uiDocA.Document
      
   Set rtitemA = docA.GetFirstItem( "DateiHyperlink" )
   
  REM Get filename from user
   filenames = ws.OpenFileDialog(False, "Wählen Sie die gewünschte Datei für die Verlinkung")
   
   'Set object = rtitemA.EmbedObject( EMBED_OBJECTLINK, "", filenames(0))
   
   Call rtitemA.AppendText( filenames(0))
      
   Call rtitemA.AddNewLine( 1 )
   
   Call docA.Save( False, True)
   docA.SaveOptions = "0"   
   
   Call uiDocA.Close
   
   Set uiDocA = ws.EditDocument(True, docA, False)
   Call uiDocA.GotoField("DateiHyperlink")
   
End Sub



Gruesse
Sofia
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: Axel am 03.12.04 - 08:11:31
Hi,

was ist denn das für ein String? Ist das eine URL?

Was willst du denn damit machen?


Axel
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: sja am 03.12.04 - 13:16:29
Hi Axel,

das ist im diesem Fall einen Pfad zu einer Datei.

man bekommt den Pfad als String aus dem Dialogfeld

filenames = ws.OpenFileDialog(False, "Wählen Sie die gewünschte Datei für die Verlinkung")


Vilen Dank

Sofia
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: Axel am 03.12.04 - 13:31:09
Hi,

versuch's doch mal wenn du vor den Filenamen file:\\ davorstellst.
Der Filename muss in der UNC-Notation vorliegen.


Das könnte z.B. so ausehen: file:\\temp\daten.txt


Axel
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: sja am 03.12.04 - 14:45:45
Hi,

denke habe ich unglücklich erklärt, was eigentlich soll sein, oder verstehe nicht ganz deine Empfehlung.
Also: mit dem command:
filenames = ws.OpenFileDialog(False, "Wählen Sie die gewünschte Datei für die Verlinkung")
wird ein Dialogfeld geöffnet, wo den Anwender eine Datei auszuwählen aufgefordert wird. Dadurch wird die Variable filenames gesetzt gleich absoluten Pfad zu ausgewählter Datei.
Wenn weiter folgt das command:
Set object = rtitemA.EmbedObject( EMBED_OBJECTLINK, "", filenames(0))
wird ObjectLink gebaut, aber ich brauche nur Verlinkung, so wie bei Notes-Menü: Erstellen -> Hotspt- > Verknüpfungs-Hotspot .
Ich verstehe nicht:
1. wie kann ich diese Variable (absoluten Pfad)  in UNC-Notation umsetzen?
2. wenn ich bekomme doch UNC-Notation, wie mache ich davon Verlinkung?

Danke für die Hilfe

Gruesse
Sofia

Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: Axel am 03.12.04 - 15:02:07
Hi,

ich hab's mal probiert. Du brauchst kein UNC-Pfad. Der normale Pfad reicht aus.

Du fügst den Pfad einfach mit AppendText mit einem führenden file:\\ in ein RTF-Feld ein.


Beisp.

...
filename = "c:\test.doc"

Call rtitemA.AppendText( "file:\\" & filename)
...


Axel
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: sja am 03.12.04 - 15:33:30
Hi Axel,

vielen Dank. Ich probiere es sofort.

Gruesse
Sofia
Titel: Re: Ein String in ein Verknüpfungs-Hotspot programmieren
Beitrag von: sja am 03.12.04 - 15:49:44
Hi Axel,

jaaaa, das war's. Vielen vielen Dank!!
 :)

schöne Gruesse
Sofia