Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Joker am 16.09.03 - 09:55:46
-
Hallo,
gibt es eine Möglichkeit einen Anhang in einem Feld per Script zu starten ?
In der Formelsprache gibt es ja den Befehl
@Command( [AttachmentLaunch]). Das gleiche oder so etwas ähnliches suche ich als Script bzw. API.
Gruss
Martin
-
Das in die Declaration
Declare Function ShellExecute Lib "Shell32.dll" Alias _
"ShellExecuteA" (Byval hWnd As Long, Byval lpOperation _
As String, Byval lpFile As String, Byval lpParameters _
As String, Byval lpDirectory As String, Byval nShowCmd _
As Long) As Long
Und so könnte der Aufruf aussehen :
Call shellExecute(0&, "Open", DATEIPFADUNDNAME$ , "", "", 1)
Die 1 ist derselbe Paramter wie beim Lotus befehl SHELL
Ciao
Don Pasquale
-
... und vorher sollte man den Anhang lösen:
notesEmbeddedObject.ExtractFile ( path$ )
Bernhard
-
Dieses Skript startet ein Attachment
TEMPVERZEICHNIS$ = "C:\TEMP\TEST\"
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set ritem=doc.getfirstitem("Body")
If (ritem.type=RICHTEXT)Then
If Isarray(ritem.embeddedobjects) Then
Forall o In ritem.embeddedobjects
If (o.type=EMBED_ATTACHMENT) Then
Call o.ExtractFile( TEMPVERZEICHNIS$ & o.Source )
Call shellExecute(0&, "Open", TEMPVERZEICHNIS$ & o.Source , "", "", 1)
End If
End Forall
End If
End If
-
... und vorher sollte man den Anhang lösen:
notesEmbeddedObject.ExtractFile ( path$ )
Bernhard
Hallo Bernhard,
... da hast Du sicherlich recht, aber wie lösche ich sinnvoll die ganzen abgelegten files ?
im Terminate der Datenbank ? Wie kann ich dann sicher sein, dass ich nur die zuvor abgelegten Anhänge lösche ? Oder gibt es einen Autoamtismus, dass Notes selbst Anhänge die mit einer ~ beginnen automatisch wieder löscht ?
Grüße, Gerd
-
Du kannst eine maskenglobale Variable definieren und dort den Pfad und den Namen des Dateianhangs ablegen. Beim Schließen der Maske, z.B. im Terminate-Event kannst du dann mit
KILL NamederglobalenVariable
eben diesen Anhang löschen.
Axel