Domino 9 und frühere Versionen > ND7: Entwicklung
Anhänge aus Richtextitem starten lassen
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