Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Joker am 16.09.03 - 09:55:46

Titel: Anhang per Script starten
Beitrag 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
Titel: Re:Anhang per Script starten
Beitrag von: Don Pasquale am 16.09.03 - 12:26:26
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
               
Titel: Re:Anhang per Script starten
Beitrag von: koehlerbv am 16.09.03 - 12:33:59
... und vorher sollte man den Anhang lösen:
notesEmbeddedObject.ExtractFile ( path$ )

Bernhard
Titel: Re:Anhang per Script starten
Beitrag von: Don Pasquale am 16.09.03 - 12:34:42

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
Titel: Re:Anhang per Script starten
Beitrag von: Gerd2610 am 08.04.09 - 07:56:25
... 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
Titel: Re: Anhang per Script starten
Beitrag von: Axel am 08.04.09 - 09:12:20
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