Domino 9 und frühere Versionen > Entwicklung

Detach Ordnersauswahl

<< < (2/2)

MrMagoo:
Also
@koehlerbv: habe mir die sache mit "notesUIWorkspace.SaveFileDialog " genauer angesehen. Ordnerauswahl klappt gut, allerdings muss beim speichern dann ein File name vorgegeben werden und ich krieg es nicht hin das ein Ordner für z.B 20 Mailanhänge genommen wird

@diri nun ja mit Funktionen habe ich noch nie etwas gemacht.
Wird die funktion im Agent aufgerufen?? wie??
LS gibt mir auch Fehler bei diesem Script, siehe Anhang
Gruß

Driri:
Oops, sorry, da hab ich gepennt.

Okay, nochmal das ganze

Unter Declarations muß folgendes stehen :

Type BROWSEINFO
   hOwner As Long
   pidlRoot As Long
   pszDisplayName As String
   lpszTitle As String
   ulFlags As Long
   lpfn As Long
   lParam As Long
   iImage As Long
End Type
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (Byval pidl As Long, Byval pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Die eigentliche Funktion (s.o.) solltest du ja schon drin haben.

Der Aufruf erfolgt dann so :

Dim folder As String
folder = BrowseFolder ("","")


In "folder" hast du dann Pfad als String drin. Den kannst du dann beim Lösen der Dateien angeben.

MrMagoo:
Also was soll ich sagen, es funktioniert, Danke
für alle nochmal das komplette Script. Dazu kommt dann noch die Funkton von Driri.

Zuerst wird ein Ordner abgefragt und dann die Anhänge der markierten Mails mit Ihrem Namen in diesem Ordner abgespeichert.

Sub Initialize
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant
   Dim folder As String
   folder = BrowseFolder ("","")
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument
   
   While Not (doc Is Nothing)
      
      Set rtitem = doc.GetFirstItem( "Body" )
      If ( rtitem.Type = RICHTEXT ) Then
         Forall o In rtitem.EmbeddedObjects
        'Dateien in Verzeichnis c:\reports lösen
            Call o.ExtractFile(  folder+"\"  & o.Name )
         End Forall
      End If
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

RvM:
 ???
ich habe mir mal Eure Hirnschmalzproduktionen vorgenommen, da ich ein ähnliches Prob habe:
Ich will auch ein Verzeichnis-Auswahl-Fenster haben, um die darin liegenden PDF-Files an neue Doks anzuhängen.
Also (mein) Schritt 1: In einer Ansicht eine neue Aktion erstellen.
Schritt 2: Diri's Declaration in die Aktion Declaration packen
Schritt 3: Diri's Function  darunter packen
Schritt 4: In den click-event nur
Dim folder As String
folder = BrowseFolder ("","")
mal zum Testen reinpacken.
Beim Speichern kommt dann alerdings folgende Fehlermeldung:

BrowserFolder:8: Not a member: HOWNER

Was habe ich falsch gemacht?

TMC:
Seltsam, sollte eigentlich nicht sein.

Schau nochmal hier:
http://www.atnotes.de/index.php?board=9;action=display;threadid=10524

Da hatte ich das ganze mal zusammengefasst und klappt wunderbar bei copy & paste.

Was allerdings noch fehlt ist z.B. eine If - Abfrage wenn z.B. folder leer ist.

TMC

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln