Mettre à jour une variable de configuration Windows depuis une macro Excel
2 réponses
Marc
Bonjour
Je souhaiterai mettre à jour une variable de configuration Windows (la
variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
pas comment faire .
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
Alain CROS
Bonjour.
Private Declare Function SetEnvironmentVariable& _ Lib "kernel32" Alias "SetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _ Lib "kernel32" Alias "GetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable() Dim Var$, Valeur$, LeTexte$, LeTitre$ LeTitre = "Ecriture variable d'environnement" Var = InputBox("Entrer le nom de la variable", LeTitre) If Var <> "" Then Valeur = InputBox("Entrer la valeur de la variable", LeTitre) If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _ vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub SetEnvironmentVariable Var, Valeur LeTexte = ValeurDeVariable(Var) If LeTexte = "" Then LeTexte = " n'est pas définie" Else LeTexte = " égale :" & vbCr & LeTexte End If MsgBox "La variable " & Var & LeTexte, , LeTitre End If End Sub
Function ValeurDeVariable$(Var$) Dim Valeur$, J& Do Valeur = Space$(J) J = GetEnvironmentVariable(Var, Valeur, J) Loop Until Len(Valeur) > 0& Or J = 0& ValeurDeVariable = Left$(Valeur, J) End Function
Alain CROS
"Marc" a écrit dans le message de news: eV9p# | Bonjour | | Je souhaiterai mettre à jour une variable de configuration Windows (la | variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais | pas comment faire . | | Merci de votre aide | | Marc
Bonjour.
Private Declare Function SetEnvironmentVariable& _
Lib "kernel32" Alias "SetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _
Lib "kernel32" Alias "GetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable()
Dim Var$, Valeur$, LeTexte$, LeTitre$
LeTitre = "Ecriture variable d'environnement"
Var = InputBox("Entrer le nom de la variable", LeTitre)
If Var <> "" Then
Valeur = InputBox("Entrer la valeur de la variable", LeTitre)
If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _
vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub
SetEnvironmentVariable Var, Valeur
LeTexte = ValeurDeVariable(Var)
If LeTexte = "" Then
LeTexte = " n'est pas définie"
Else
LeTexte = " égale :" & vbCr & LeTexte
End If
MsgBox "La variable " & Var & LeTexte, , LeTitre
End If
End Sub
Function ValeurDeVariable$(Var$)
Dim Valeur$, J&
Do
Valeur = Space$(J)
J = GetEnvironmentVariable(Var, Valeur, J)
Loop Until Len(Valeur) > 0& Or J = 0&
ValeurDeVariable = Left$(Valeur, J)
End Function
Alain CROS
"Marc" <marc-c.michel@laposte.net> a écrit dans le message de news: eV9p#qGYFHA.2420@TK2MSFTNGP12.phx.gbl...
| Bonjour
|
| Je souhaiterai mettre à jour une variable de configuration Windows (la
| variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
| pas comment faire .
|
| Merci de votre aide
|
| Marc
Private Declare Function SetEnvironmentVariable& _ Lib "kernel32" Alias "SetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _ Lib "kernel32" Alias "GetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable() Dim Var$, Valeur$, LeTexte$, LeTitre$ LeTitre = "Ecriture variable d'environnement" Var = InputBox("Entrer le nom de la variable", LeTitre) If Var <> "" Then Valeur = InputBox("Entrer la valeur de la variable", LeTitre) If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _ vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub SetEnvironmentVariable Var, Valeur LeTexte = ValeurDeVariable(Var) If LeTexte = "" Then LeTexte = " n'est pas définie" Else LeTexte = " égale :" & vbCr & LeTexte End If MsgBox "La variable " & Var & LeTexte, , LeTitre End If End Sub
Function ValeurDeVariable$(Var$) Dim Valeur$, J& Do Valeur = Space$(J) J = GetEnvironmentVariable(Var, Valeur, J) Loop Until Len(Valeur) > 0& Or J = 0& ValeurDeVariable = Left$(Valeur, J) End Function
Alain CROS
"Marc" a écrit dans le message de news: eV9p# | Bonjour | | Je souhaiterai mettre à jour une variable de configuration Windows (la | variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais | pas comment faire . | | Merci de votre aide | | Marc
Marc
Merci pour l'astuce, elle marche, mais il me reste un problème : La variable d'environnement est bien positionnée dans Excel, mais sa valeur est perdues dè qu'on sort d'Excel. Or je voudrais qu'elle prenne une valeur définitive dans Windows....
Est-ce possible ?
Bonjour.
Private Declare Function SetEnvironmentVariable& _ Lib "kernel32" Alias "SetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _ Lib "kernel32" Alias "GetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable() Dim Var$, Valeur$, LeTexte$, LeTitre$ LeTitre = "Ecriture variable d'environnement" Var = InputBox("Entrer le nom de la variable", LeTitre) If Var <> "" Then Valeur = InputBox("Entrer la valeur de la variable", LeTitre) If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _ vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub SetEnvironmentVariable Var, Valeur LeTexte = ValeurDeVariable(Var) If LeTexte = "" Then LeTexte = " n'est pas définie" Else LeTexte = " égale :" & vbCr & LeTexte End If MsgBox "La variable " & Var & LeTexte, , LeTitre End If End Sub
Function ValeurDeVariable$(Var$) Dim Valeur$, J& Do Valeur = Space$(J) J = GetEnvironmentVariable(Var, Valeur, J) Loop Until Len(Valeur) > 0& Or J = 0& ValeurDeVariable = Left$(Valeur, J) End Function
Alain CROS
"Marc" a écrit dans le message de news: eV9p# | Bonjour | | Je souhaiterai mettre à jour une variable de configuration Windows (la | variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais | pas comment faire . | | Merci de votre aide | | Marc
Merci pour l'astuce, elle marche, mais il me reste un problème :
La variable d'environnement est bien positionnée dans Excel, mais sa
valeur est perdues dè qu'on sort d'Excel.
Or je voudrais qu'elle prenne une valeur définitive dans Windows....
Est-ce possible ?
Bonjour.
Private Declare Function SetEnvironmentVariable& _
Lib "kernel32" Alias "SetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _
Lib "kernel32" Alias "GetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable()
Dim Var$, Valeur$, LeTexte$, LeTitre$
LeTitre = "Ecriture variable d'environnement"
Var = InputBox("Entrer le nom de la variable", LeTitre)
If Var <> "" Then
Valeur = InputBox("Entrer la valeur de la variable", LeTitre)
If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _
vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub
SetEnvironmentVariable Var, Valeur
LeTexte = ValeurDeVariable(Var)
If LeTexte = "" Then
LeTexte = " n'est pas définie"
Else
LeTexte = " égale :" & vbCr & LeTexte
End If
MsgBox "La variable " & Var & LeTexte, , LeTitre
End If
End Sub
Function ValeurDeVariable$(Var$)
Dim Valeur$, J&
Do
Valeur = Space$(J)
J = GetEnvironmentVariable(Var, Valeur, J)
Loop Until Len(Valeur) > 0& Or J = 0&
ValeurDeVariable = Left$(Valeur, J)
End Function
Alain CROS
"Marc" <marc-c.michel@laposte.net> a écrit dans le message de news: eV9p#qGYFHA.2420@TK2MSFTNGP12.phx.gbl...
| Bonjour
|
| Je souhaiterai mettre à jour une variable de configuration Windows (la
| variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
| pas comment faire .
|
| Merci de votre aide
|
| Marc
Merci pour l'astuce, elle marche, mais il me reste un problème : La variable d'environnement est bien positionnée dans Excel, mais sa valeur est perdues dè qu'on sort d'Excel. Or je voudrais qu'elle prenne une valeur définitive dans Windows....
Est-ce possible ?
Bonjour.
Private Declare Function SetEnvironmentVariable& _ Lib "kernel32" Alias "SetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpValue$)
Private Declare Function GetEnvironmentVariable& _ Lib "kernel32" Alias "GetEnvironmentVariableA" _ (ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)
Sub EcrireVariable() Dim Var$, Valeur$, LeTexte$, LeTitre$ LeTitre = "Ecriture variable d'environnement" Var = InputBox("Entrer le nom de la variable", LeTitre) If Var <> "" Then Valeur = InputBox("Entrer la valeur de la variable", LeTitre) If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _ vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub SetEnvironmentVariable Var, Valeur LeTexte = ValeurDeVariable(Var) If LeTexte = "" Then LeTexte = " n'est pas définie" Else LeTexte = " égale :" & vbCr & LeTexte End If MsgBox "La variable " & Var & LeTexte, , LeTitre End If End Sub
Function ValeurDeVariable$(Var$) Dim Valeur$, J& Do Valeur = Space$(J) J = GetEnvironmentVariable(Var, Valeur, J) Loop Until Len(Valeur) > 0& Or J = 0& ValeurDeVariable = Left$(Valeur, J) End Function
Alain CROS
"Marc" a écrit dans le message de news: eV9p# | Bonjour | | Je souhaiterai mettre à jour une variable de configuration Windows (la | variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais | pas comment faire . | | Merci de votre aide | | Marc