OVH Cloud OVH Cloud

comment changer le fond 'écran xp en vba dans une macro word ?

2 réponses
Avatar
Jean-Claude
Bonjour,

je connais un peu le vba des macro word, et je cherche comment insérer dans
un macro une commande permettant de modifier le fond d'écran de windows
(xp). Quelqu'un peut-il m'aider ?
Le but est que, chaque fois que la macro est exécutée, le fond d'écran de
window soit modifié (en en choisissant un nouveau dans une liste).
Merci d'avance.

Jean-Claude

2 réponses

Avatar
Anacoluthe
Bonjour et Bonne Année 2007 !

'Jean-Claude' nous a écrit ...
je connais un peu le vba des macro word, et je cherche comment insérer dans
un macro une commande permettant de modifier le fond d'écran de windows
(xp). Quelqu'un peut-il m'aider ?
Le but est que, chaque fois que la macro est exécutée, le fond d'écran de
window soit modifié (en en choisissant un nouveau dans une liste).


Le VBA de Word ne sait pas faire ça ! Ça concerne plus Windows.

Mais il /peut/ le faire quand même : il suffit de déclarer
la fonction API kivabien. Donc vous commencez par chercher
cette fonction et vous trouvez qqch comme cette fiche :
http://support.microsoft.com/kb/97142/en-us

Ensuite vous dites au VBA de Word comment faire :

1) Placer en tête de module le code déclaratif suivant:

---------------------------------------------------------------
Private Declare Function SystemParametersInfo Lib "user32" _
Alias "SystemParametersInfoA" (ByVal uAction As Long, _
ByVal uParam As Long, ByVal lpvParam As Any, _
ByVal fuWinIni As Long) As Long
---------------------------------------------------------------

2) Définir la procédure générale de changement du papier peint
du bureau Windows en fonction d'un fichier image BMP
(attention BMP seulement) et d'un drapeau indiquant si on veut
que le changement soit inscrit dans le Registre ou non
(Si Registre vrai le changement de papier peint est permanent):

---------------------------------------------------------------
Sub ChangePapierPeint(Fichier As String, Registre As Boolean)
x = SystemParametersInfo(20, 0, Fichier, Abs(Registre))
End Sub
---------------------------------------------------------------

3) À vous ensuite d'utiliser cette procédure dans une macro Word
sous la forme suivante :

Public Sub Test()
ChangePapierPeint "C:BONNE ANNÉE 2007.bmp", False
End Sub

Si ces quelques explications ne vous suffisent pas, le mieux est
d'aller faire un tour sur un forum VB car là nous sommes
franchement hors-sujet Word et un tantinet superfétatoire :-)

Anacoluthe
« Pomme de reinette et pomme d'api
Tapis, tapis rouge
Pomme de reinette et pomme d'api
Tapis, tapis gris. »
- Comptine

Avatar
Jean-Claude
"Anacoluthe" a écrit dans le message de news:
uTNo#
Bonjour et Bonne Année 2007 !



Super !
Merci pour la réponse claire et détaillée, et qui fonctionne impécablement.
Bonne année à vous ! !

Jean-Claude