Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Semi HS] - Modifier l'aspect des menus pour une seule application

13 réponses
Avatar
Michel Gaboly
--------------47EF39F17758A06620D8AEC7
Content-Type: text/plain; charset=iso-8859-1; x-mac-type="54455854"; x-mac-creator="4D4F5353"
Content-Transfer-Encoding: 8bit

Bonjour,

Pour la première fois, j'ai posé une question hier sur microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:\Mes Documents\MotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--------------47EF39F17758A06620D8AEC7
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Bonjour,
<p>Pour la premi&egrave;re fois, j'ai pos&eacute; une question hier sur
microsoft.public.fr.scripting,
<br>mais je n'ai eu aucune r&eacute;ponse pour le moment.
<p>Si une bonne &acirc;me ici avait la r&eacute;ponse, ... ;-))
<br>&nbsp;
<blockquote>Un client pour lequel j'ai d&eacute;velopp&eacute; une appli
Excel/VBA,
<br>me demande un truc que je ne sais pas faire ;-((
<p>Il voudrait que l'utilisateur final ne se rende pas compte
<br>qu'il est dans Excel. Une des options qui lui conviendraient
<br>serait d'avoir des menus sp&eacute;cifiques (je sais faire) avec une
<br>police, une taille et/ou une couleur particuli&egrave;re(s).
<p>Avec Google, j'ai trouv&eacute; dans les archines du MPFE, un mes-
<br>sage de Patrick Penet qui montre comment ouvrir une instance
<br>d'Excel "insensible &agrave; un double clic dans l'explorateur sur
<br>d'autres documents Excel" :
<p>&nbsp;&nbsp;&nbsp; Dim oXL
<br>&nbsp;&nbsp;&nbsp; Set oXL = WScript.CreateObject("EXCEL.application")
<br>&nbsp;&nbsp;&nbsp; ' oXL.Visible = False
<br>&nbsp;&nbsp;&nbsp; oXL.workbooks.open "c:\Mes Documents\MotsCrois&eacute;s.xls"
<br>&nbsp;&nbsp;&nbsp; oXL.application.IgnoreRemoteRequests = False
<br>&nbsp;&nbsp;&nbsp; Set oXL = Nothing
<p>&nbsp;&nbsp;&nbsp; En double-cliquant sur le raccourci, l'applic va
s'ouvrir dans
<br>&nbsp;&nbsp;&nbsp; une premi&egrave;re instance d'Excel qui restera
"insensible" aux &eacute;ventuelles
<br>&nbsp;&nbsp;&nbsp; ouvertures d'autres fichiers Excel (par double clic
dans l'explorateur)
<br>&nbsp;&nbsp;&nbsp; qui s'ouvriront alors dans une autre instance d'Excel...
donc pas
<br>&nbsp;&nbsp;&nbsp; d'interf&eacute;rence possible.
<br>&nbsp;
<p>Est-il concevable avec un script VBS de lancer cette succes-
<br>sion d'op&eacute;rations :
<p>Modifier l'aspect des menus via le panneau de config, ouvrir
<br>le document Excel contenant les macros, et &agrave; la fermeture
<br>d'Excel, r&eacute;tablir les param&egrave;tres initiaux pour l'aspect
<br>des menus. ?
<p>Pour le r&eacute;tablissement des param&egrave;tres initiaux, l'appel
d'un
<br>script VBS depuis Excel VBA (&eacute;v&eacute;nement BeforeClose du
clas-
<br>seur) me conviendrait parfaitement.</blockquote>

<p><br>Merci d'avance.
<p>--
<br>Cordialement,
<p>Michel Gaboly
<br><A HREF="http://www.gaboly.com">http://www.gaboly.com</A>
<br>&nbsp;</html>

--------------47EF39F17758A06620D8AEC7--

10 réponses

1 2
Avatar
j
je n'ai pas de réponse à la question, mais tu peux essayer de chercher si
les paramètres que tu veux modifier correspondent à une clé de la base de
registres
si c'est le cas, tu peux la modifier par vbs puis la restaurer par ton vba
(attention, en cas de plantage d'excel, tu risque de ne pas restaurer tes
paramètres !)



"Michel Gaboly" a écrit dans le message de news:

Bonjour,
Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.
Si une bonne âme ici avait la réponse, ... ;-))

Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((
Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).
Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.

Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :
Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?
Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Avatar
FxM
Bonsoir,

Aucune majuscule ... ca a marché ?

@+
FxM



wrote:
je n'ai pas de réponse à la question, mais tu peux essayer de chercher si
les paramètres que tu veux modifier correspondent à une clé de la base de
registres
si c'est le cas, tu peux la modifier par vbs puis la restaurer par ton vba
(attention, en cas de plantage d'excel, tu risque de ne pas restaurer tes
paramètres !)



"Michel Gaboly" a écrit dans le message de news:

Bonjour,
Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.
Si une bonne âme ici avait la réponse, ... ;-))

Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((
Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).
Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.

Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :
Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?
Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Merci pour ta réponse.

Mais il me reste du chemin à faire, car la base de registres, tout ce
que je peux en dire, c'est que j'en ai vaguement entendu causer, mais
malheureusement cela ne va pas + loin ;-(((



je n'ai pas de réponse à la question, mais tu peux essayer de chercher si
les paramètres que tu veux modifier correspondent à une clé de la base de
registres
si c'est le cas, tu peux la modifier par vbs puis la restaurer par ton vba
(attention, en cas de plantage d'excel, tu risque de ne pas restaurer tes
paramètres !)


"Michel Gaboly" a écrit dans le message de news:

Bonjour,
Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.
Si une bonne âme ici avait la réponse, ... ;-))

Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((
Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).
Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.

Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :
Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?
Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Michel Gaboly
--------------43B87B72E75B606497DEE8CC
Content-Type: text/plain; charset=iso-8859-1; x-mac-type="54455854"; x-mac-creator="4D4F5353"
Content-Transfer-Encoding: 8bit

Re ,

Ce n'est pas que je ne veuille pas, mais que je ne sais pas : je suis avant tout un
utilisateur Mac qui connait bien Excel.

Cela me permet de développer des applis Excel/VBA, y compris sur PC, mais ma
connaissance des arcanes de DOS et Windows est quasi nulle.

Par exemple, je voudrais essayer d'avoir des menus en Verdana 10 dans une appli
Je sais passer par le panneau de config, Affichage, ... Eléments, Menus et choisir
une police, une taille et une couleur. Mais où chercher pour savoir quels sont les
paramètres correspondants ?

Le comble est que le seule réponse obtenue sur MPFS (MPF.Scripting) ;-(( a été
un conseil de reposter ma demande sur un forum office développement.


quelles sont les modif que tu veux faire à partir du panneau de config (personnalisation de barre d'outils ?) et quelles
opérations y fais-tu manuellement ?si tu ne veux pas toucher aux bases de registres, tu peux essayer de trouver s'il existe une
commande VB ou même dos pour faire ces opé sur le panneau de config...

"Michel Gaboly" a écrit dans le message de news: ,

Pour la première fois, j'ai posé une question hier sur microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.


Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--

Cordialement,

Michel Gaboly
http://www.gaboly.com


--------------43B87B72E75B606497DEE8CC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Re ,
<p>Ce n'est pas que je ne veuille pas, mais que je ne sais pas : je suis
avant tout un
<br>utilisateur Mac qui connait bien Excel.
<p>Cela me permet de d&eacute;velopper des applis Excel/VBA, y compris
sur PC, mais ma
<br>connaissance des arcanes de DOS et Windows est quasi nulle.
<p>Par exemple, je voudrais essayer d'avoir des menus en Verdana 10 dans
une appli
<br>Je sais passer par le panneau de config, Affichage, ... El&eacute;ments,
Menus et choisir
<br>une police, une taille et une couleur. Mais o&ugrave; chercher pour
savoir quels sont les
<br>param&egrave;tres correspondants ?
<p>Le comble est que le seule r&eacute;ponse obtenue sur MPFS (MPF.Scripting)
;-(( a &eacute;t&eacute;
<br>un conseil de reposter ma demande sur un forum office d&eacute;veloppement.
<blockquote TYPE=CITE><style></style>
<font face="Arial"><font size=-1>quelles
sont les modif que tu veux faire &agrave; partir du panneau de config (personnalisation
de barre d'outils ?) et quelles op&eacute;rations y fais-tu manuellement
?</font></font><font face="Arial"><font size=-1>si tu ne veux pas toucher
aux bases de registres, tu peux essayer de trouver s'il existe une commande
VB ou m&ecirc;me dos pour faire ces op&eacute; sur le panneau de config...</font></font>&nbsp;&nbsp;
<blockquote dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">"Michel
Gaboly" &lt;<a href="mailto:"></a>>
a &eacute;crit dans le message de news: <a href="mailto:"></a>...Bonjour,
<p>Pour la premi&egrave;re fois, j'ai pos&eacute; une question hier sur
microsoft.public.fr.scripting,
<br>mais je n'ai eu aucune r&eacute;ponse pour le moment.
<p>Si une bonne &acirc;me ici avait la r&eacute;ponse, ... ;-))
<br>&nbsp;
<blockquote>Un client pour lequel j'ai d&eacute;velopp&eacute; une appli
Excel/VBA,
<br>me demande un truc que je ne sais pas faire ;-((
<p>Il voudrait que l'utilisateur final ne se rende pas compte
<br>qu'il est dans Excel. Une des options qui lui conviendraient
<br>serait d'avoir des menus sp&eacute;cifiques (je sais faire) avec une
<br>police, une taille et/ou une couleur particuli&egrave;re(s).
<p>Avec Google, j'ai trouv&eacute; dans les archines du MPFE, un mes-
<br>sage de Patrick Penet qui montre comment ouvrir une instance
<br>d'Excel "insensible &agrave; un double clic dans l'explorateur sur
<br>d'autres documents Excel" :
<p>&nbsp;&nbsp;&nbsp; Dim oXL
<br>&nbsp;&nbsp;&nbsp; Set oXL = WScript.CreateObject("EXCEL.application")
<br>&nbsp;&nbsp;&nbsp; ' oXL.Visible = False
<br>&nbsp;&nbsp;&nbsp; oXL.workbooks.open "c:Mes DocumentsMotsCrois&eacute;s.xls"
<br>&nbsp;&nbsp;&nbsp; oXL.application.IgnoreRemoteRequests = False
<br>&nbsp;&nbsp;&nbsp; Set oXL = Nothing
<p>&nbsp;&nbsp;&nbsp; En double-cliquant sur le raccourci, l'applic va
s'ouvrir dans
<br>&nbsp;&nbsp;&nbsp; une premi&egrave;re instance d'Excel qui restera
"insensible" aux &eacute;ventuelles
<br>&nbsp;&nbsp;&nbsp; ouvertures d'autres fichiers Excel (par double clic
dans l'explorateur)
<br>&nbsp;&nbsp;&nbsp; qui s'ouvriront alors dans une autre instance d'Excel...
donc pas
<br>&nbsp;&nbsp;&nbsp; d'interf&eacute;rence possible.
<br>&nbsp;
<p>Est-il concevable avec un script VBS de lancer cette succes-
<br>sion d'op&eacute;rations :
<p>Modifier l'aspect des menus via le panneau de config, ouvrir
<br>le document Excel contenant les macros, et &agrave; la fermeture
<br>d'Excel, r&eacute;tablir les param&egrave;tres initiaux pour l'aspect
<br>des menus. ?
<p>Pour le r&eacute;tablissement des param&egrave;tres initiaux, l'appel
d'un
<br>script VBS depuis Excel VBA (&eacute;v&eacute;nement BeforeClose du
clas-
<br>seur) me conviendrait parfaitement.</blockquote>

<p><br>Merci d'avance.
<p>--
<br>Cordialement,
<p>Michel Gaboly
<br><a href="http://www.gaboly.com">http://www.gaboly.com</a>
<br>&nbsp;</blockquote>
</blockquote>

<p>--
<br>Cordialement,
<p>Michel Gaboly
<br><A HREF="http://www.gaboly.com">http://www.gaboly.com</A>
<br>&nbsp;
</body>
</html>

--------------43B87B72E75B606497DEE8CC--

Avatar
Michel Pierron
Bonjour Michel;
Pour ce genre d'application autonome, il faut envisager les points suivants:
Les menus sont totalement personnalisés et les actions possibles de l'utilisateur
vis à vis de l'application sont parfaitement identifiées et limitées à celles
autorisées par les menus ou les interfaces (userform). L'application étant
autonome, il ne doit pas être possible pour l'utilisateur d'ouvrir un autre
fichier excel au sein de la même cession que celle comprenant l'application; de
même, si une cession est déjà existante, le lancement de l'application doit
déclencher l'ouverture d'une nouvelle cession au sein de laquelle s'exécutera l'
application. La gestion des menus et de la configuration ainsi que la restauration
en l'état initial est exécutée par des procédures d'auto ouverture (ThisWorkbook_
Open / BeforeClose et / ou Auto_ Open / Close); l'accès au procédures de
restauration en l'état initial ne doit pas être accessible à l'utilisateur
(certaines options doivent donc être inhibées). Pour éviter l'ouverture
intempestive de ce fichier, il est souhaitable d'en changer l'extension; la
reconnaissance du fichier se faisant sur l'entête interne du fichier, cela ne
modifie pas son comportement. Pour lancer l'application, il est de bon goût
d'installer un raccourci sur le bureau, lequel raccourci fait référence à un
fichier vbscript chargé d'ouvrir l'application tout en by-passant la sécurité des
macros. L'installation du raccourci étant également réalisée au moyen d'un fichier
vbscript d'installation. Dans l'hypothèse ou ce fichier peut être ouvert sans
passer par le raccourci, il faut prévoir une page d'accueil qui ne sera masquée
que si les macros sont activées; pour un aspect professionnel, on peut également
personnaliser le logo de la barre de titre.

Je peux te joindre un exemple en bal perso, mais comme tu es sur Mac, je ne
garantis pas la compatibilité.
MP

"Michel Gaboly" a écrit dans le message de
news:
Bonjour,

Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,

mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Avatar
Michel Pierron
Bonjour Michel;
Si tu modifies les options d'affichage par le panneau de config, toutes les
applications, y compris Windows seront modifiées en conséquence.
MP

"Michel Gaboly" a écrit dans le message de
news:
Re ,

Ce n'est pas que je ne veuille pas, mais que je ne sais pas : je suis avant tout
un

utilisateur Mac qui connait bien Excel.

Cela me permet de développer des applis Excel/VBA, y compris sur PC, mais ma
connaissance des arcanes de DOS et Windows est quasi nulle.

Par exemple, je voudrais essayer d'avoir des menus en Verdana 10 dans une appli
Je sais passer par le panneau de config, Affichage, ... Eléments, Menus et
choisir

une police, une taille et une couleur. Mais où chercher pour savoir quels sont
les

paramètres correspondants ?

Le comble est que le seule réponse obtenue sur MPFS (MPF.Scripting) ;-(( a été
un conseil de reposter ma demande sur un forum office développement.


quelles sont les modif que tu veux faire à partir du panneau de config
(personnalisation de barre d'outils ?) et quelles


opérations y fais-tu manuellement ?si tu ne veux pas toucher aux bases de
registres, tu peux essayer de trouver s'il existe une


commande VB ou même dos pour faire ces opé sur le panneau de config...

"Michel Gaboly" a écrit dans le message de news:
,



Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,


mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux
éventuelles


ouvertures d'autres fichiers Excel (par double clic dans
l'explorateur)


qui s'ouvriront alors dans une autre instance d'Excel... donc
pas


d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.


Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--

Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Bonjour Michel,

Envoie-moi ton fichier exemple, je le regarderai avec plaisir.

NB - Je suis principalemnt sur Mac, mais j'ai aussi un PC sur
lequel j'utilise presque exclusivement pour Excel/VBA (pas de
connection à Internet par exemple).


Bonjour Michel;
Pour ce genre d'application autonome, il faut envisager les points suivants:
Les menus sont totalement personnalisés et les actions possibles de l'utilisateur
vis à vis de l'application sont parfaitement identifiées et limitées à celles
autorisées par les menus ou les interfaces (userform). L'application étant
autonome, il ne doit pas être possible pour l'utilisateur d'ouvrir un autre
fichier excel au sein de la même cession que celle comprenant l'application; de
même, si une cession est déjà existante, le lancement de l'application doit
déclencher l'ouverture d'une nouvelle cession au sein de laquelle s'exécutera l'
application. La gestion des menus et de la configuration ainsi que la restauration
en l'état initial est exécutée par des procédures d'auto ouverture (ThisWorkbook_
Open / BeforeClose et / ou Auto_ Open / Close); l'accès au procédures de
restauration en l'état initial ne doit pas être accessible à l'utilisateur
(certaines options doivent donc être inhibées). Pour éviter l'ouverture
intempestive de ce fichier, il est souhaitable d'en changer l'extension; la
reconnaissance du fichier se faisant sur l'entête interne du fichier, cela ne
modifie pas son comportement. Pour lancer l'application, il est de bon goût
d'installer un raccourci sur le bureau, lequel raccourci fait référence à un
fichier vbscript chargé d'ouvrir l'application tout en by-passant la sécurité des
macros. L'installation du raccourci étant également réalisée au moyen d'un fichier
vbscript d'installation. Dans l'hypothèse ou ce fichier peut être ouvert sans
passer par le raccourci, il faut prévoir une page d'accueil qui ne sera masquée
que si les macros sont activées; pour un aspect professionnel, on peut également
personnaliser le logo de la barre de titre.

Je peux te joindre un exemple en bal perso, mais comme tu es sur Mac, je ne
garantis pas la compatibilité.
MP

"Michel Gaboly" a écrit dans le message de
news:
Bonjour,

Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,

mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Michel Gaboly
Re

Je sais bien, Michel : c'est pour cela que je voudrais arriver à faire la
modif par VBScript : l'idée est est d'enchaîner la modif des paramètres,
et l'ouverture de l'appli, qui manipule par des menus spécifiques et des
UserForms, des documents Excel qui sont tous protégés (déprotégés
pendant le traitement, et reprotégés avant que l'utilisateur récipère la
main.

Il suffit ensuite (si VBScript permet de modifier les paramètres relatifs
à l'aspect des menus) d'appeler depuis l'événement BeforeClose un second
script qui rétablit les paramètres normaux.


Bonjour Michel;
Si tu modifies les options d'affichage par le panneau de config, toutes les
applications, y compris Windows seront modifiées en conséquence.
MP

"Michel Gaboly" a écrit dans le message de
news:
Re ,

Ce n'est pas que je ne veuille pas, mais que je ne sais pas : je suis avant tout
un

utilisateur Mac qui connait bien Excel.

Cela me permet de développer des applis Excel/VBA, y compris sur PC, mais ma
connaissance des arcanes de DOS et Windows est quasi nulle.

Par exemple, je voudrais essayer d'avoir des menus en Verdana 10 dans une appli
Je sais passer par le panneau de config, Affichage, ... Eléments, Menus et
choisir

une police, une taille et une couleur. Mais où chercher pour savoir quels sont
les

paramètres correspondants ?

Le comble est que le seule réponse obtenue sur MPFS (MPF.Scripting) ;-(( a été
un conseil de reposter ma demande sur un forum office développement.


quelles sont les modif que tu veux faire à partir du panneau de config
(personnalisation de barre d'outils ?) et quelles


opérations y fais-tu manuellement ?si tu ne veux pas toucher aux bases de
registres, tu peux essayer de trouver s'il existe une


commande VB ou même dos pour faire ces opé sur le panneau de config...

"Michel Gaboly" a écrit dans le message de news:
,



Pour la première fois, j'ai posé une question hier sur
microsoft.public.fr.scripting,


mais je n'ai eu aucune réponse pour le moment.

Si une bonne âme ici avait la réponse, ... ;-))


Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((

Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).

Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :

Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing

En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux
éventuelles


ouvertures d'autres fichiers Excel (par double clic dans
l'explorateur)


qui s'ouvriront alors dans une autre instance d'Excel... donc
pas


d'interférence possible.


Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :

Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?

Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.


Merci d'avance.

--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--

Cordialement,

Michel Gaboly
http://www.gaboly.com





Merci encore,

--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
Patrick Penet
J'arrive un peu tard (de 14 juillet), mais bon...

Michel, bien que venant de moi le message que tu cites est en fait
assez abscons. ;-)))

Je m'explique :

Si le but est de faire apparaître un dev VBA/Excel comme étant une
applic à par entière (ce qui me semble bien être le cas) il faut procéder
comme ceci (testé et vérifié W98SE ou WINXP/XL2K - j'ai eu des
problèmes de sécurité avec XL2003 et n'ai jamais testé pour MAC) :

Créer un script vbs et le lier à l'icône qui lance l'applic.
"
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMonApplic.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
"
Le script crée une instance d'excel et ouvre le classeur de l'applic.
Dans le WBOpen de ce classeur procéder à tout la mise en scène
de l'applic : supp des menus excel, ajout de menus perso, etc
Ne pas oublier d'y mettre : Application.IgnoreRemoteRequests = True

Prévoir un moyen 'clean' de sortir de l'applic, cad qui rende à Excel son
aspect initial (Menus, Barres d'outils, etc) et qui doit remettre l'instruction
Application.IgnoreRemoteRequests à False

Dans le Script, oXL.Visibleúlse sert éventuellement à masquer
le process d'habillage d'Excel, si utilisé il faut le mettre à True à la fin du
WBOpen. Les deux dernières lignes sont des bretelles qui vont avec ma
ceinture ! (comme dirait Frédéric Sigonneau), car je n'ai jamais élucidé si
Windows rendait la main au script dès l'ouverture du classeur ou après
sa fermeture.

J'ai éprouvé cette méthode de nombreuse fois et je ne lui trouve qu'un seul
défaut : si l'applic VBA/Excel plante ou que l'utilisateur la quitte sauvagement
via un Ctrl-Alt-Supp (PC), Excel devient 'autiste' et plus aucun fichier Excel ne
s'ouvre par un double-clic dans WExplorer, because ...
Application.IgnoreRemoteRequests est resté False
... mais c'est assez simple de palier ce défaut. ;-)))

Cordialement.
Patrick Penet
============


Michel Gaboly" a écrit dans le message de news:
Bonjour,
Pour la première fois, j'ai posé une question hier sur microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.
Si une bonne âme ici avait la réponse, ... ;-))

Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((
Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).
Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.

Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :
Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?
Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Avatar
Michel Gaboly
Bonsoir Patrick,

Je n'ai pas trouvé ton message abscons ;-))

Simplement, jusqu'à avant-hier, je n'avais jamais cherché à
utiliser VBSript.

J'ai commencé par chercher un soft équivalent à VBE avec un
explorateur d'objets et tout le tralala.

Puis j'ai compris que par défaut, il faut se contenter du Notepad
(ou équivalent) ;-((

Je vais explorer un peu les archives.

Michel Pierron m'a proposé de m'envoyer en Bal un fichier
exemple, je vais le regarder.

Ce que je voudrais arriver à faire, c'est 2 scripts, le premier
qui enchaine une modif de la police utilisée dans les menus des
applis Windows, et le chargement de mon appli dans une instance
indépendante d'Excel ( oXL.application.IgnoreRemoteRequests
= False), et le second à appeler dans le BeforeClose de mon clas-
seur principal, qui rétablisse la police initialement utilisée
pour les applis.

En ce qui concerne le Mac, rassure-toi, l'appli tourne sur PC.



J'arrive un peu tard (de 14 juillet), mais bon...

Michel, bien que venant de moi le message que tu cites est en fait
assez abscons. ;-)))

Je m'explique :

Si le but est de faire apparaître un dev VBA/Excel comme étant une
applic à par entière (ce qui me semble bien être le cas) il faut procéder
comme ceci (testé et vérifié W98SE ou WINXP/XL2K - j'ai eu des
problèmes de sécurité avec XL2003 et n'ai jamais testé pour MAC) :

Créer un script vbs et le lier à l'icône qui lance l'applic.
"
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMonApplic.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
"
Le script crée une instance d'excel et ouvre le classeur de l'applic.
Dans le WBOpen de ce classeur procéder à tout la mise en scène
de l'applic : supp des menus excel, ajout de menus perso, etc
Ne pas oublier d'y mettre : Application.IgnoreRemoteRequests = True

Prévoir un moyen 'clean' de sortir de l'applic, cad qui rende à Excel son
aspect initial (Menus, Barres d'outils, etc) et qui doit remettre l'instruction
Application.IgnoreRemoteRequests à False

Dans le Script, oXL.Visibleúlse sert éventuellement à masquer
le process d'habillage d'Excel, si utilisé il faut le mettre à True à la fin du
WBOpen. Les deux dernières lignes sont des bretelles qui vont avec ma
ceinture ! (comme dirait Frédéric Sigonneau), car je n'ai jamais élucidé si
Windows rendait la main au script dès l'ouverture du classeur ou après
sa fermeture.

J'ai éprouvé cette méthode de nombreuse fois et je ne lui trouve qu'un seul
défaut : si l'applic VBA/Excel plante ou que l'utilisateur la quitte sauvagement
via un Ctrl-Alt-Supp (PC), Excel devient 'autiste' et plus aucun fichier Excel ne
s'ouvre par un double-clic dans WExplorer, because ...
Application.IgnoreRemoteRequests est resté False
... mais c'est assez simple de palier ce défaut. ;-)))

Cordialement.
Patrick Penet
============ >
Michel Gaboly" a écrit dans le message de news:
Bonjour,
Pour la première fois, j'ai posé une question hier sur microsoft.public.fr.scripting,
mais je n'ai eu aucune réponse pour le moment.
Si une bonne âme ici avait la réponse, ... ;-))

Un client pour lequel j'ai développé une appli Excel/VBA,
me demande un truc que je ne sais pas faire ;-((
Il voudrait que l'utilisateur final ne se rende pas compte
qu'il est dans Excel. Une des options qui lui conviendraient
serait d'avoir des menus spécifiques (je sais faire) avec une
police, une taille et/ou une couleur particulière(s).
Avec Google, j'ai trouvé dans les archines du MPFE, un mes-
sage de Patrick Penet qui montre comment ouvrir une instance
d'Excel "insensible à un double clic dans l'explorateur sur
d'autres documents Excel" :
Dim oXL
Set oXL = WScript.CreateObject("EXCEL.application")
' oXL.Visible = False
oXL.workbooks.open "c:Mes DocumentsMotsCroisés.xls"
oXL.application.IgnoreRemoteRequests = False
Set oXL = Nothing
En double-cliquant sur le raccourci, l'applic va s'ouvrir dans
une première instance d'Excel qui restera "insensible" aux éventuelles
ouvertures d'autres fichiers Excel (par double clic dans l'explorateur)
qui s'ouvriront alors dans une autre instance d'Excel... donc pas
d'interférence possible.

Est-il concevable avec un script VBS de lancer cette succes-
sion d'opérations :
Modifier l'aspect des menus via le panneau de config, ouvrir
le document Excel contenant les macros, et à la fermeture
d'Excel, rétablir les paramètres initiaux pour l'aspect
des menus. ?
Pour le rétablissement des paramètres initiaux, l'appel d'un
script VBS depuis Excel VBA (événement BeforeClose du clas-
seur) me conviendrait parfaitement.

Merci d'avance.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

1 2