Modification de couleur dans signature Outlook

Modification de couleur dans signature Outlook - VB/VBA/VBS - Programmation

Marsh Posté le 08-10-2008 à 14:41:03    

Bonjour à tous,  
 
Après plus d'une heure de recherche je viens faire appel à vous car je ne trouve pas ce que je cherche.
 
J'ai sur tous les postes de mon réseau, une signature Outlook (2003) stockée dans un fichier qui se nomme SignatureGroupe.htm et qui se situe dans %userprofile%\application data\microsoft\signatures.
 
Dans ce fichier htm se trouve donc toute la signature avec les balises pour la couleur, police, etc...
Je dois modifier la couleur d'une ligne par une autre couleur (modifier le code couleur), j'ai localisé la ligne.
 
Maintenant il ne reste plus qu'à faire un script qui va chercher le code couleur dans le fichier et le remplacer par le nouveau. Ce script sera ensuite mis en démarrage des postes.
 
Je continue mes recherches mais si quelqu'un à des petites idées, n'hésitez pas.
 
Merci beaucoup.

Reply

Marsh Posté le 08-10-2008 à 14:41:03   

Reply

Marsh Posté le 08-10-2008 à 16:17:37    

J'ai trouvé une grande partie du code:
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Set fso = CreateObject("Scripting.FileSystemObject" )
 
 
'Ouverture et lecture du fichier à modifier
Set f = fso.OpenTextFile("C:\Documents and Settings\moi\application data\microsoft\signatures\SignatureGroupe.htm", ForReading)
st = f.readAll
f.Close
 
'ecriture du fichier modifier... aprés avoir remplacer "ancien" par "nouveau"..
Set f = fso.OpenTextFile("C:\Documents and Settings\moi\application data\microsoft\signatures\SignatureGroupe.htm", ForWriting)
f.Write replace(st,"#881100","#99CC00" )
f.close
 
 
Cela fonctionne très bien, dernier point manquant, je ne peux l'exécuter qu'en spécifiant un chemin local comme c:\... mais pas avec les variables Windows comme %userprofile%
Je suis en train de chercher commment les utiliser, apparemment c'est avec WSH.
 

Reply

Marsh Posté le 08-10-2008 à 17:25:58    

voici mon code final qui marche:
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Dim chemin
Set fso = CreateObject("Scripting.FileSystemObject" )
Set chemin = CreateObject("WScript.Shell" )
 
'détermination du chemin
strHtmPath = _
chemin.ExpandEnvironmentStrings ("%UserProfile%" ) & _
"\Application Data\Microsoft\Signatures\"
 
'Ouverture et lecture du fichier à modifier
Set f = fso.OpenTextFile(strHtmPath & "SignatureAURA.htm", ForReading)
st = f.readAll
f.Close
 
'ecriture du fichier modifier... aprés avoir remplacer "Salut" par "bonjour"..
Set f = fso.OpenTextFile(strHtmPath & "SignatureAURA.htm", ForWriting)
f.Write replace(st,"#92d050","#99CC00" )
f.close

Reply

Sujets relatifs:

Leave a Replay

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