Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce
qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés
du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions
de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du
code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout
de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que
tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder
à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce
qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés
du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions
de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du
code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout
de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que
tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder
à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce
qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés
du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions
de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du
code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout
de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que
tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder
à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la macro
complémentaire que tu veux lancer en premier soit dans la première clé OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention, parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois, modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la macro
complémentaire que tu veux lancer en premier soit dans la première clé OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention, parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois, modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès" (qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la macro
complémentaire que tu veux lancer en premier soit dans la première clé OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention, parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois, modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment accèder à
d'autres clefs ? API ?
Merci
John
Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
après
modif de la base de registre, il n'y a pas de problème et la fermeture de
la
première instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" a écrit dans le
message de
news:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de
ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder à
d'autres clefs ? API ?
Merci
John
Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
après
modif de la base de registre, il n'y a pas de problème et la fermeture de
la
première instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message de
news:3FE0BE6E.CFB87635@wanadoo.fr...
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de
ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder à
d'autres clefs ? API ?
Merci
John
Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
après
modif de la base de registre, il n'y a pas de problème et la fermeture de
la
première instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" a écrit dans le
message de
news:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de
ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tu
fais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder à
d'autres clefs ? API ?
Merci
John
Si je comprend bien, à l'ouverture d'excel je modifie l'ordre d'execution
des xla en BdR, je relance une instance d'Excel qui se charge avec les xla
dans l'ordre voulut et je ferme la 1ère instance ?
c ça ?
John
"Michel Pierron" a écrit dans le message de
news:Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
aprèsmodif de la base de registre, il n'y a pas de problème et la fermeture de
lapremière instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" a écrit dans le
message denews:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce quine marche pas exatement ?). Mais je me permets de te rappeler la fin de
maréponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macrocomplémentaire que tu veux lancer en premier soit dans la première clé
OPEN(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés duregistre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parcequ'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pouraccéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions del'API que tu as trouvées sur le site de Microsoft), *aucune modification
duregistre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxene convient pas pour une procédure (elle pourrait convenir pour une
fonction).Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonctionRegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifierles clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbsqui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbementles fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout decode utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tufais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder àd'autres clefs ? API ?
Merci
John
Si je comprend bien, à l'ouverture d'excel je modifie l'ordre d'execution
des xla en BdR, je relance une instance d'Excel qui se charge avec les xla
dans l'ordre voulut et je ferme la 1ère instance ?
c ça ?
John
"Michel Pierron" <mpierron@europtest.com> a écrit dans le message de
news:e8olCcUxDHA.1736@TK2MSFTNGP09.phx.gbl...
Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
après
modif de la base de registre, il n'y a pas de problème et la fermeture de
la
première instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message de
news:3FE0BE6E.CFB87635@wanadoo.fr...
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce qui
ne marche pas exatement ?). Mais je me permets de te rappeler la fin de
ma
réponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macro
complémentaire que tu veux lancer en premier soit dans la première clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions de
l'API que tu as trouvées sur le site de Microsoft), *aucune modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOption
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder à
d'autres clefs ? API ?
Merci
John
Si je comprend bien, à l'ouverture d'excel je modifie l'ordre d'execution
des xla en BdR, je relance une instance d'Excel qui se charge avec les xla
dans l'ordre voulut et je ferme la 1ère instance ?
c ça ?
John
"Michel Pierron" a écrit dans le message de
news:Bonjour Frédéric;
Si Excel est ouvert et que tu exécutes ton projet dans une autre instance
aprèsmodif de la base de registre, il n'y a pas de problème et la fermeture de
lapremière instance ne réinitialise pas les modifications effectuées.
MP
"Frédéric Sigonneau" a écrit dans le
message denews:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce quine marche pas exatement ?). Mais je me permets de te rappeler la fin de
maréponse à ta question du 1er décembre dernier (16:36), sur le même sujet
:
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour que la
macrocomplémentaire que tu veux lancer en premier soit dans la première clé
OPEN(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier les
clés duregistre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton attention,
parcequ'elle peut expliquer ton échec : quelle que soit la méthode utilisée
pouraccéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions del'API que tu as trouvées sur le site de Microsoft), *aucune modification
duregistre* ne sera réellement effectuée si tu la fais depuis Excel (par
du code,j'entends).
D'autre part, pour lire dans le registre avec la procédure LireReg, ta
syntaxene convient pas pour une procédure (elle pourrait convenir pour une
fonction).Egalement le chemin d'accès à la clé Options n'est pas correct pour la
fonctionRegRead.
Essaye plutôt de copier/coller ce code dans un module standard et de
l'exécuter:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans le
registre.D'une part, parce qu'elles sont beaucoup plus facile à utiliser que les
fonctions API, et d'autre part parce que, si tu dois, ce que je crois,
modifierles clés du registre en dehors d'Excel, tu pourrais le faire avec un
script .vbsqui accepte sans difficulté cet objet ("WScript.Shell") mais ignore
superbementles fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a un
bout decode utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions" pour
qu'Excel charge mes macros complémentaires dans l'ordre que je veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a ce
que tufais.
Alain CROS.
"John Fuss" a écrit dans le message de news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder àd'autres clefs ? API ?
Merci
John
Bonjour,
je n'arrivait pas à utiliser les f° données par Alain pour l'accès
au
registre, j'ai essayé différentes syntaxes (HKEY complet ou HKCU)
mais je
n'arrivait pas à lire mes clefs. J'ai tester ta fonction qui marche
très
bien, pour ce qui est de la modification de l'ordre d'execution des
xla, mon
but est de placer un de mes xla en 1er. J'ai donc mis en place les
API pour
tester si le placement du bon xla dans OPEN fonctionne, apparement c
le cas.
Pourrais-tu me dire prkoi ma syntaxe ne convient pas pour un
procédure ?
En abusant, pourrais-tu me dire qq trucs sur les .vbs ? Comment ça
s'utilise
? Comment peux t'on les créer ? Comment se déclenche un .vbs ?
Merci.
Effectivement la syntaxe de l'accès au registre est plus simple par
WScript.Shell que par les API, je vais de ce pas les remplacer...
Merci bcp pour ta réponse.
John
"Frédéric Sigonneau" a écrit dans le
message
de news:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce
quine marche pas exatement ?). Mais je me permets de te rappeler la
fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même
sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour
que la
macrocomplémentaire que tu veux lancer en premier soit dans la première
clé
OPEN(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier
les clés
duregistre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton
attention,
parcequ'elle peut expliquer ton échec : quelle que soit la méthode
utilisée
pouraccéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions
del'API que tu as trouvées sur le site de Microsoft), *aucune
modification
duregistre* ne sera réellement effectuée si tu la fais depuis Excel
(par du
code,j'entends).
D'autre part, pour lire dans le registre avec la procédure
LireReg, ta
syntaxene convient pas pour une procédure (elle pourrait convenir pour
une
fonction).Egalement le chemin d'accès à la clé Options n'est pas correct
pour la
fonctionRegRead.
Essaye plutôt de copier/coller ce code dans un module standard et
de
l'exécuter:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer
avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans
le
registre.D'une part, parce qu'elles sont beaucoup plus facile à utiliser
que les
fonctions API, et d'autre part parce que, si tu dois, ce que je
crois,
modifierles clés du registre en dehors d'Excel, tu pourrais le faire avec
un
script .vbsqui accepte sans difficulté cet objet ("WScript.Shell") mais
ignore
superbementles fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0Excel
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a
un bout
decode utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise
tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions"
pour
qu'Excel charge mes macros complémentaires dans l'ordre que je
veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a
ce que
tufais.
Alain CROS.
"John Fuss" a écrit dans le message de
news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder
àd'autres clefs ? API ?
Merci
John
Bonjour,
je n'arrivait pas à utiliser les f° données par Alain pour l'accès
au
registre, j'ai essayé différentes syntaxes (HKEY complet ou HKCU)
mais je
n'arrivait pas à lire mes clefs. J'ai tester ta fonction qui marche
très
bien, pour ce qui est de la modification de l'ordre d'execution des
xla, mon
but est de placer un de mes xla en 1er. J'ai donc mis en place les
API pour
tester si le placement du bon xla dans OPEN fonctionne, apparement c
le cas.
Pourrais-tu me dire prkoi ma syntaxe ne convient pas pour un
procédure ?
En abusant, pourrais-tu me dire qq trucs sur les .vbs ? Comment ça
s'utilise
? Comment peux t'on les créer ? Comment se déclenche un .vbs ?
Merci.
Effectivement la syntaxe de l'accès au registre est plus simple par
WScript.Shell que par les API, je vais de ce pas les remplacer...
Merci bcp pour ta réponse.
John
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
de news:3FE0BE6E.CFB87635@wanadoo.fr...
Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce
qui
ne marche pas exatement ?). Mais je me permets de te rappeler la
fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même
sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour
que la
macro
complémentaire que tu veux lancer en premier soit dans la première
clé
OPEN
(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier
les clés
du
registre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton
attention,
parce
qu'elle peut expliquer ton échec : quelle que soit la méthode
utilisée
pour
accéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions
de
l'API que tu as trouvées sur le site de Microsoft), *aucune
modification
du
registre* ne sera réellement effectuée si tu la fais depuis Excel
(par du
code,
j'entends).
D'autre part, pour lire dans le registre avec la procédure
LireReg, ta
syntaxe
ne convient pas pour une procédure (elle pourrait convenir pour
une
fonction).
Egalement le chemin d'accès à la clé Options n'est pas correct
pour la
fonction
RegRead.
Essaye plutôt de copier/coller ce code dans un module standard et
de
l'exécuter
:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer
avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans
le
registre.
D'une part, parce qu'elles sont beaucoup plus facile à utiliser
que les
fonctions API, et d'autre part parce que, si tu dois, ce que je
crois,
modifier
les clés du registre en dehors d'Excel, tu pourrais le faire avec
un
script .vbs
qui accepte sans difficulté cet objet ("WScript.Shell") mais
ignore
superbement
les fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0Excel
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a
un bout
de
code utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise
tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions"
pour
qu'Excel charge mes macros complémentaires dans l'ordre que je
veux.
Merci pour votre aide
John
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:%23%23RGxlbvDHA.2448@TK2MSFTNGP09.phx.gbl...
Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a
ce que
tu
fais.
Alain CROS.
"John Fuss" <newskob650@yahoo.fr> a écrit dans le message de
news:
br1pjq$s46$1@s1.read.news.oleane.net...
Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder
à
d'autres clefs ? API ?
Merci
John
Bonjour,
je n'arrivait pas à utiliser les f° données par Alain pour l'accès
au
registre, j'ai essayé différentes syntaxes (HKEY complet ou HKCU)
mais je
n'arrivait pas à lire mes clefs. J'ai tester ta fonction qui marche
très
bien, pour ce qui est de la modification de l'ordre d'execution des
xla, mon
but est de placer un de mes xla en 1er. J'ai donc mis en place les
API pour
tester si le placement du bon xla dans OPEN fonctionne, apparement c
le cas.
Pourrais-tu me dire prkoi ma syntaxe ne convient pas pour un
procédure ?
En abusant, pourrais-tu me dire qq trucs sur les .vbs ? Comment ça
s'utilise
? Comment peux t'on les créer ? Comment se déclenche un .vbs ?
Merci.
Effectivement la syntaxe de l'accès au registre est plus simple par
WScript.Shell que par les API, je vais de ce pas les remplacer...
Merci bcp pour ta réponse.
John
"Frédéric Sigonneau" a écrit dans le
message
de news:Bonsoir,
Je ne sais pas ce que tu veux dire exactement par "sans succès"
(qu'est-ce
quine marche pas exatement ?). Mais je me permets de te rappeler la
fin de ma
réponse à ta question du 1er décembre dernier (16:36), sur le même
sujet :
'========début
Tu peux essayer de les renommer, dans l'éditeur du registre, pour
que la
macrocomplémentaire que tu veux lancer en premier soit dans la première
clé
OPEN(celle qui n'a pas de numéro).
*Excel doit être fermé pour cette manip*.
(...)Il est impossible en effet, Excel étant ouvert, de modifier
les clés
duregistre qu'il utilise.
'========fin
C'est la dernière phrase, bien sûr, sur laquelle j'attire ton
attention,
parcequ'elle peut expliquer ton échec : quelle que soit la méthode
utilisée
pouraccéder au registre (celle qu'Alain Cros t'a proposée comme les
fonctions
del'API que tu as trouvées sur le site de Microsoft), *aucune
modification
duregistre* ne sera réellement effectuée si tu la fais depuis Excel
(par du
code,j'entends).
D'autre part, pour lire dans le registre avec la procédure
LireReg, ta
syntaxene convient pas pour une procédure (elle pourrait convenir pour
une
fonction).Egalement le chemin d'accès à la clé Options n'est pas correct
pour la
fonctionRegRead.
Essaye plutôt de copier/coller ce code dans un module standard et
de
l'exécuter:
Sub LireReg()
Dim ObjShell As Object, Clé$
Set ObjShell = CreateObject("WScript.Shell")
Clé = "HKCUSoftwareMicrosoftOffice9.0ExcelOptionsOPEN"
On Error Resume Next
MsgBox ObjShell.RegRead(Clé)
Set ObjShell = Nothing
End Sub
Je te conseille, mais tu en fais ce que tu veux, de persévérer
avec les
méthodes/fonctions de l'objet "WScript.Shell" pour travailler dans
le
registre.D'une part, parce qu'elles sont beaucoup plus facile à utiliser
que les
fonctions API, et d'autre part parce que, si tu dois, ce que je
crois,
modifierles clés du registre en dehors d'Excel, tu pourrais le faire avec
un
script .vbsqui accepte sans difficulté cet objet ("WScript.Shell") mais
ignore
superbementles fonctions API.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
J'ai essayé en utilisant
msgbox(LireReg("HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0Excel
sOPEN"))
Mais sans succès, ou est-ce que je me trompe ? Sinon si qq'un a
un bout
decode utilisant les API je suis preneur....
Sachant que le but de mon opération est de classer à ma guise
tous les
"OPEN*" de la clef
"HKEY_CURRENT_USERSoftwareMicrosoftOffice9.0ExcelOptions"
pour
qu'Excel charge mes macros complémentaires dans l'ordre que je
veux.
Merci pour votre aide
John
"Alain CROS" a écrit dans le message de
news:%23%Bonjour.
Il y a moyen de passer par un objet Shell.
Sub EcrireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.RegWrite "HKCUJohnFuzzTonic", 5
Set ObjShell = Nothing
End Sub
Sub LireReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
MsgBox ObjShell.RegRead("HKCUJohnFuzzTonic")
Set ObjShell = Nothing
End Sub
Sub EffaceReg()
Dim ObjShell As Object
Set ObjShell = CreateObject("WScript.Shell")
On Error Resume Next
ObjShell.RegDelete "HKCUJohnFuzz"
Set ObjShell = Nothing
End Sub
C'est faisable par les API avec les fonctions :
RegCloseKey
RegCreateKeyEx
RegDeleteKey
mais c'est un peu plus compliqué.
Un petit conseil, si tu manipule la bdr, fais bien attention a
ce que
tufais.
Alain CROS.
"John Fuss" a écrit dans le message de
news:
br1pjq$s46$Bonjour,
SaveSetting, GetSetting & co sont bien gentils mais comment
accèder
àd'autres clefs ? API ?
Merci
John