Domino 9 und frühere Versionen > Entwicklung
Detach Ordnersauswahl
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