Question sur un script qui ajoute un profil Outlook

Question sur un script qui ajoute un profil Outlook - VB/VBA/VBS - Programmation

Marsh Posté le 24-05-2012 à 17:19:09    

Bonjour,
 
J'utilise ce script pour ajouter les profils outlook automatiquement mais je ne comprend pas la Subroutine "CleanUp".  
Quelqu'un pourrait-il m'éclairer ?
 
Merci d'avance.
 

Code :
  1. ' =========================================
  2. 'Début SubRoutine ProfilOutlook
  3. ' =========================================
  4. Sub ProfilOutlook
  5. Dim Company, PRFLocation, ProfileName
  6. 'Information PRF
  7. Company = "Leasecom"  'Nom de la société
  8. PRFLocation = "\\srv-fic\netlogon\FichiersScript\ProfilOutlook.prf" 'Emplacement du PRF
  9. ProfileName = "Outlook"   'Nom du profil pour Outlook
  10. 'Création des variables
  11. Set WshShell = CreateObject("WScript.Shell" )
  12. Set WshNetwork = Wscript.CreateObject("Wscript.Network" )
  13. Set fso = CreateObject("Scripting.FileSystemObject" )
  14. Set ObjEnv = WshShell.Environment("Process" )
  15. Set objShell = CreateObject("Shell.Application" )
  16. Set objSysInfo = CreateObject("ADSystemInfo" )
  17. Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
  18. Const HKEY_CURRENT_USER = &H80000001
  19. 'Déclaration des variables
  20. Dim HKCUfirstRunflag
  21. HKCUfirstRunflag = "HKCU\Software\" & Company & "\FirstRunFlag"
  22. Dim HKCUprofile
  23. HKCUprofile = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\" & ProfileName
  24. Dim WshShell, WshNetwork, objEnv, fso, objShell, username, key, FirstRunCurrentUser, MSOKey, NoProfile, OfficeInstalled, strUserName, strInitials
  25. Dim strOfficePath, strMachineName, objSysInfo, objUser
  26. Dim objWord, LogonSrv, PRFPath, result, OSnummer, objWMIService, colOperatingSystems, objOperatingSystem
  27. strOfficePath = "Software\Microsoft\Office\11.0\Common\UserInfo" 'Path for office user info
  28. strMachineName = "."
  29. 'Test pour savoir si le script à déjà été lancé
  30. TestfirstRunUser
  31. If FirstRunCurrentUser then
  32. TestProfile
  33. If NoProfile then
  34.   OutlookSetup
  35. End if
  36. End if
  37. ' Ajout d'une clé dans le registre si le script s'est lancé correctement
  38. WshShell.RegWrite HKCUfirstrunflag, "1", "REG_DWORD"
  39. CleanUp
  40. 'SubRoutine pour tester si c'est le premier lancement pour cet utilisateur
  41. Sub TestFirstRunUser
  42.   on error resume next
  43.   key = WshShell.RegRead(HKCUfirstRunflag)
  44.   If Err <> 0 Then
  45.     FirstRunCurrentUser = True
  46.   Else
  47.     FirstRunCurrentUser = False
  48.   End If
  49.   On Error Goto 0
  50. End Sub
  51. 'SubRoutine pour tester si le profil existe
  52. Sub TestProfile
  53. on error resume next
  54. MSOKey = WshShell.RegRead(HKCUprofile)
  55.   If MSOKey = "" Then
  56.    NoProfile = True
  57.   else
  58.    NoProfile = False
  59.   end if
  60.   On Error Goto 0
  61. End sub
  62. 'SubRoutine pour lancer l'ajout du profil
  63. Sub OutlookSetup
  64.     WshShell.Run "outlook.exe /importprf " & PRFLocation, 1, False
  65. End Sub
  66. 'SubRoutine pour vider les variables
  67. Sub CleanUp
  68. Set WshNetwork = Nothing
  69. Set objSysInfo = Nothing
  70. Set WshShell = Nothing
  71. Set fso = Nothing
  72. Set ObjEnv = Nothing
  73. Set objShell = Nothing
  74. Set objUser = Nothing
  75. Set objWord = Nothing
  76. Set objWMIService = Nothing
  77. Set colOperatingSystems = Nothing
  78. Set objWord = Nothing
  79. End Sub
  80. End Sub
  81. ' =========================================
  82. 'Fin SubRoutine ProfilOutlook
  83. ' =========================================

Reply

Marsh Posté le 24-05-2012 à 17:19:09   

Reply

Marsh Posté le 25-05-2012 à 07:35:43    

Bonjour,
la routine CleanUp "supprime" tous les objets (= Nothing).
C'est le pendant de la commande Set MonObjet = Qqch qui lui le "créé".
 
Ca sert à libérer la mémoire allouée à chaque objet avant la fin du code.


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed