Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1038 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Question sur un script qui ajoute un profil Outlook

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question sur un script qui ajoute un profil Outlook

n°2143573
Eysinem
Posté le 24-05-2012 à 17:19:09  profilanswer
 

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. ' =========================================

mood
Publicité
Posté le 24-05-2012 à 17:19:09  profilanswer
 

n°2143612
vave
Nice to meet me
Posté le 25-05-2012 à 07:35:43  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Question sur un script qui ajoute un profil Outlook

 

Sujets relatifs
Iompatibilité script entre Seven et XP[SHELL UNIX] Fermer le terminal a la fin d un script shell
Script Javascript - Fond d'une partie du sitePetite question PHP, noob :)
[GlovePIE] Programation script wiimoteScript d'ouverture de fenetres
Comment un script php peut envoyer des données à un client[BATCH] Lancer outlook dans un batch planifié
VBS, script de copie reseauscript pour s'authentifier sur un site et executer une action
Plus de sujets relatifs à : Question sur un script qui ajoute un profil Outlook


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR