par BLONDIN » 12 Oct 2011 à 14:16
Je ne connais pas, peux-tu stp m'aider car j'ai un script et je pense qu'il n'est pas bon.
Voila le script avec en encadrer la description du getlast date qui me fait galerer je pense
REM
Function getLastDate
Description: Comments for Function
%END REM
Function getLastDate(mailDB As NotesDatabase) As String
Dim mailDocuments As NotesDocumentCollection
Dim mailDoc As NotesDocument
Dim dateMax As variant
Set mailDocuments = mailDB.Alldocuments
Set mailDoc = mailDocuments.Getfirstdocument
dateMax = mailDoc.Lastmodified
While Not (mailDoc Is NOTHING)
If mailDoc.Lastmodified > dateMax Then
dateMax = mailDoc.Lastmodified
End If
Set mailDoc = mailDocuments.Getnextdocument(mailDoc)
Wend
getLastDate = dateMax
Exit function
End Function
Option Public
Option Declare
Sub Initialize
On Error Goto boom
On Error Resume Next
Dim fileNum As Integer
fileNum% = Freefile()
Open "c:\extract4_"+Format(Cstr(Now),"medium date")+".csv" For Output As fileNum%
Print #fileNum%, "nom"+";"+"prenom"+";"+"mail"+";"+"chemin base"+";"+"taille base MO"+";"+"region"+";"+"groupes"+";"+"derniere modif"+";"+"Archive"+";"+"taille archive"
Dim s As New NotesSession
Dim db As notesdatabase
Dim v As NotesView
Dim serverAccess As NotesView
Dim nve As NotesViewEntryCollection
Dim groups As NotesDocumentCollection
Dim ve As NotesViewEntry
Dim group As NotesDocument
Dim uname As String
Dim groupList As String
Dim userMailDB As NotesDatabase
Dim userArchive As NotesDatabase
Set db = s.currentdatabase
Set v = db.GetView("People")
Set serverAccess = db.GetView("UsersGroups")
Set nve = v.AllEntries
Set ve = nve.GetFirstEntry
Dim prenom As String
Dim nom As String
Dim nomTmp As variant
Dim mail As String
Dim basePath As String
Dim region As String
Dim mailSize As String
Dim lastMod As String
Dim cheminarchive As String
Dim archiveSize As String
Dim docarchive As NotesDocument
While Not ve Is Nothing
'Print
uname = ve.ColumnValues(2)
prenom = ve.ColumnValues(3)
nom = ve.ColumnValues(4)
mail = ve.ColumnValues(5)
basePath = ve.ColumnValues(6)
region = ve.ColumnValues(7)
' If (nom Like "*formation*") Then
'Print uname+" "+Cstr(db.QueryAccessRoles(uname))
Set groups = serverAccess.GetAllDocumentsByKey(uname,True)
groupList = ""
If groups.Count > 0 Then
Set group = groups.GetFirstDocument
While Not group Is Nothing
If groupList = "" Then
groupList = group.ListName(0)
Else
groupList = groupList +","+ group.ListName(0)
End If
Set group = groups.GetNextDocument(group)
Wend
End If
Set userMailDB = s.GetDatabase(db.Server,basePath,False)
mailSize = ""
lastMod = ""
cheminarchive=""
archiveSize=""
If Not userMailDB Is Nothing Then
mailSize= CStr(userMailDB.Size/1024/1024)
lastMod = CStr(userMailDB.LastModified)
'- - - - -
Set docarchive = userMailDB.GetProfileDocument("archive profile")
If Strright(docarchive.ArchLastRunDestDBs(0),"!!") <>"" Then
If docarchive.ArchLastRunDestDBs(0)<>"" Then
If StrRight(docarchive.ArchLastRunDestDBs(0),"!!")="" Then
cheminarchive=docarchive.ArchLastRunDestDBs(0)
Else
cheminarchive=StrRight(docarchive.ArchLastRunDestDBs(0),"!!")
End If
cheminarchive=Strright(docarchive.ArchLastRunDestDBs(0),"!!")
Set userArchive=s.GetDatabase("LN04SIE/FRANCE",cheminarchive)
If Not userArchive.IsOpen Then
archiveSize="Pb ouverture"
Else
If Not userArchive Is Nothing Then
archiveSize=CStr(userArchive.Size/1024/1024)
End If
End If
'- - - - -
End If
'Print uname + groupList
Print #fileNum%, nom+";"+prenom+";"+mail+";"+basePath+";"+mailSize+";"+region+";"+groupList+";"+lastMod+";"+cheminarchive+";"+archiveSize
Set ve = nve.GetNextEntry(ve)
' End If
Wend
Close fileNum%
Print "extraction finie"
Exit Sub
%REM
boom:
Msgbox Error+" ("+Cstr(Erl)+")"
Print Error+" ("+Cstr(Erl)+")"
Close fileNum%
Exit Sub
%END REM
End Sub
%REM
Function getLastDate
Description: Comments for Function
%END REM
Function getLastDate(mailDB As NotesDatabase) As String
Dim mailDocuments As NotesDocumentCollection
Dim mailDoc As NotesDocument
Dim dateMax As variant
Set mailDocuments = mailDB.Alldocuments
Set mailDoc = mailDocuments.Getfirstdocument
dateMax = mailDoc.Lastmodified
While Not (mailDoc Is NOTHING)
If mailDoc.Lastmodified > dateMax Then
dateMax = mailDoc.Lastmodified
End If
Set mailDoc = mailDocuments.Getnextdocument(mailDoc)
Wend
getLastDate = dateMax
Exit function
End Function