comment changer le fond 'écran xp en vba dans une macro word ?
2 réponses
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
"Anacoluthe" <nopub_anacoluthe@Ouanadoo.fr> a écrit dans le message de news:
uTNo#3cLHHA.2456@TK2MSFTNGP06.phx.gbl...
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 ! !