Domino 9 und frühere Versionen > ND7: Entwicklung

Anhänge aus Richtextitem starten lassen

(1/4) > >>

Demian:
Moin,moin,

ich habe eine Datenbank in der eine Maske nur für "Dateiverknüpfungen" dient. Also in der Maske ist ein Richtext-Feld in dem die Dateien im Frontend abgelegt sind.

Nun soll beim Öffnen des Dokuments direkt der Anhang gestartet werden. Mein erster Versuch war, das direkt über Autostart (erster Anhang) in den Maskeneigenschaften zu lösen. Das Problem ist, dass dann jedesmal das Fenster "mit welchem Programm wollen Sie die Datei öffnen?" erscheint. Auch wenn das Häkchen bei "Dateityp immer mit dem gewählten Programm öffnen" gesetzt wird, erscheint die Abfrage jedesmal.

Mein nächster Ansatz war, es über @Command( [AttachmentLaunch] ) zu probieren, aber dafür muss ja der Anhang ausgewählt sein.

Hat jemand eine Idee, wie ich das lösen kann, ohne die Anhänge auf Festplatte speichern zu müssen?

Gruß
Demian

Demian:
Ok, da es scheinbar nicht anders zu lösen ist, würde ich mich dazu durchringen, das mit folgendem Code in der Maske zu lösen:

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim doc As NotesDocument    
   Dim item As NotesRichTextItem
   Dim obj As NotesEmbeddedObject
   Dim WScript As Variant
   
   Set doc = source.Document
   Set item = doc.GetFirstItem("Dateianhang")
   
   Set obj = doc.GetAttachment(item.EmbeddedObjects(0).name)
   obj.Activate(True)
   
   Call obj.ExtractFile("C:\" & item.EmbeddedObjects(0).name)
   
   Set WScript = CreateObject("Wscript.Shell")
   
   WScript.Run("""C:\" & item.EmbeddedObjects(0).name & """")
   
   'Kill """C:\" & item.EmbeddedObjects(0).name & """"
   
   Set Wscript = Nothing   
End Sub

Allerdings habe ich dann ein Problem mit dem Löschen. Gelöscht werden kann ja nur, wenn die Datei nicht mehr geöffnet ist.

Wscript.run  beinhaltet zwar einen Parameter, der bewirken soll, das das Skript so lange gestoppt wird, bis die Anwendung wieder geschlossen wird, aber es irgendwie läuft der Code bei mir trotzdem weiter. Ich habe mich hier orientiert: http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx

Oder ich interpretiere den Satz: If set to true, script execution halts until the program finishes falsch.

Aber irgendwie muss das doch gehen, da E-Mailanhänge doch eigentlich genauso gehandhabt werden, oder?

Jemand eine Idee?

Gruß
Demian

DerAndre:
Hast Du im Explorer mal die Verknüpfung mit der Dateiendung überprüt?

Explorer - Extras - Ordneroptionen - Reiter Dateitypen

Demian:
Moin,moin,

das habe ich. Normalerweise ist bei uns der Citrix-Client hinterlegt. Ich habe es aber auch manuell auf Adobe umgestellt, mit Häkchen, dass er immer mit Adobe starten soll.

Aber weder das eine noch das andere wird direkt gestartet. Es erscheint immer die Dialogbox, in der das Programm ausgewählt werden soll.

Und wie gesagt, öffne ich das Dokument mit Strg+B und starte dann den Anhang, wird er auch direkt mit dem richtigen Programm geöffnet (nach der Abfrage"Öffnen","Bearbeiten","Ansicht" usw.)

Gruß
Demian

DerAndre:
Ah, Ok, war nur so eine Idee von mir.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln