Je sais, la question a déjà été posée mais pour retrouver les réponses...
même avec Google, on trouve tout, même des lecteurs de DVD ou des
aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne
comportent pas un nom avec 1 espace :
Ret = Shell("C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE " &
P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole
avec des Chr$
Merci d'avance.
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$
Classique: pour faire un " on peut effectivement faire chr(34) (pas de $ en vbs) mais le plus simple est de le doubler. Exemple : wscript.echo "voici un [""] pour exemple." affichera voici un ["] pour exemple. Donc dans ton cas tu peux t'en sortir avec :
Ret = Shell("""C:Program FilesMicrosoft OfficeOFFICE11 MSACCESS.EXE"" " & P_DATABASE, vbMaximizedFocus)
Et si P_DATABASE doit aussi être encadré par des " il faut l'écrire comme ça :
la séquence """" est " de début de chaine, puis "" pour l'apostrophe puis un " de fin de chaine.
la séquence "" """ est : "" pour l'apostrophe fermant MSACCESS.EXE, puis un espace de séparation de paramètre, "" pour l'apostrophe devant P_DATABASE puis le " de fin de chaine avant concaténation.
-- Embryon de site : http://gilles.ronsin.free.fr Nouvelle astuce : Gérez vos messages non lus http://gilles.ronsin.free.fr/#nonlus Il est impossible pour un optimiste d'être agréablement surpris.
Voici le code VB (idem en VBS) qui ne marche bien que si les
chemins ne comportent pas un nom avec 1 espace :
Ret = Shell("C:Program FilesMicrosoft
OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je
bricole avec des Chr$
Classique: pour faire un " on peut effectivement faire chr(34) (pas de
$ en vbs) mais le plus simple est de le doubler. Exemple :
wscript.echo "voici un [""] pour exemple."
affichera
voici un ["] pour exemple.
Donc dans ton cas tu peux t'en sortir avec :
Ret = Shell("""C:Program FilesMicrosoft OfficeOFFICE11
MSACCESS.EXE"" " & P_DATABASE, vbMaximizedFocus)
Et si P_DATABASE doit aussi être encadré par des " il faut l'écrire
comme ça :
la séquence """" est " de début de chaine, puis "" pour l'apostrophe
puis un " de fin de chaine.
la séquence "" """ est : "" pour l'apostrophe fermant MSACCESS.EXE,
puis un espace de séparation de paramètre, "" pour l'apostrophe devant
P_DATABASE puis le " de fin de chaine avant concaténation.
--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelle astuce : Gérez vos messages non lus
http://gilles.ronsin.free.fr/#nonlus
Il est impossible pour un optimiste d'être agréablement surpris.
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$
Classique: pour faire un " on peut effectivement faire chr(34) (pas de $ en vbs) mais le plus simple est de le doubler. Exemple : wscript.echo "voici un [""] pour exemple." affichera voici un ["] pour exemple. Donc dans ton cas tu peux t'en sortir avec :
Ret = Shell("""C:Program FilesMicrosoft OfficeOFFICE11 MSACCESS.EXE"" " & P_DATABASE, vbMaximizedFocus)
Et si P_DATABASE doit aussi être encadré par des " il faut l'écrire comme ça :
la séquence """" est " de début de chaine, puis "" pour l'apostrophe puis un " de fin de chaine.
la séquence "" """ est : "" pour l'apostrophe fermant MSACCESS.EXE, puis un espace de séparation de paramètre, "" pour l'apostrophe devant P_DATABASE puis le " de fin de chaine avant concaténation.
-- Embryon de site : http://gilles.ronsin.free.fr Nouvelle astuce : Gérez vos messages non lus http://gilles.ronsin.free.fr/#nonlus Il est impossible pour un optimiste d'être agréablement surpris.
Gloops
Bonjour,
Il y a deux solutions : - celle développée par Gilles, - ou l'utilisation des noms courts (du style C:Progra~1Micros~1...) avec laquelle les guillemets ne sont pas utiles.
J'allonge un peu la sauce ? Pour la conversion, dans Access un module comme ceci : ____________________________________________________ Private Declare Function GetLongPathName Lib "kernel32" Alias _ "GetLongPathNameA" (ByVal lpszShortPath As _ String, _ ByVal lpszLongPath As String, _ ByVal cchBuffer As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" Alias _ "GetShortPathNameA" (ByVal lpszLongPath As _ String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long
Public Function NomLong(NomCourt As String) As String Dim strCheminFichier As String * 250 Dim strNomFichier As String strCheminFichier = String(250, Chr$(32)) GetLongPathName NomCourt, strCheminFichier, 250 NomLong = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0))) End Function
Public Function NomCourt(NomLong As String) As String Dim strCheminFichier As String * 250 strCheminFichier = String(250, Chr$(32)) GetShortPathName NomLong, strCheminFichier, 250 NomCourt = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0))) End Function
____________________________________ teddy a écrit, le 11/09/2005 15:36 :
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses... même avec Google, on trouve tout, même des lecteurs de DVD ou des aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$ Merci d'avance.
Ted
Bonjour,
Il y a deux solutions :
- celle développée par Gilles,
- ou l'utilisation des noms courts (du style C:Progra~1Micros~1...)
avec laquelle les guillemets ne sont pas utiles.
J'allonge un peu la sauce ? Pour la conversion, dans Access un module
comme ceci :
____________________________________________________
Private Declare Function GetLongPathName Lib "kernel32" Alias _
"GetLongPathNameA" (ByVal lpszShortPath As _
String, _
ByVal lpszLongPath As String, _
ByVal cchBuffer As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" Alias _
"GetShortPathNameA" (ByVal lpszLongPath As _
String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long
Public Function NomLong(NomCourt As String) As String
Dim strCheminFichier As String * 250
Dim strNomFichier As String
strCheminFichier = String(250, Chr$(32))
GetLongPathName NomCourt, strCheminFichier, 250
NomLong = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0)))
End Function
Public Function NomCourt(NomLong As String) As String
Dim strCheminFichier As String * 250
strCheminFichier = String(250, Chr$(32))
GetShortPathName NomLong, strCheminFichier, 250
NomCourt = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0)))
End Function
____________________________________
teddy a écrit, le 11/09/2005 15:36 :
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses...
même avec Google, on trouve tout, même des lecteurs de DVD ou des
aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne
comportent pas un nom avec 1 espace :
Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " &
P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole
avec des Chr$
Merci d'avance.
Il y a deux solutions : - celle développée par Gilles, - ou l'utilisation des noms courts (du style C:Progra~1Micros~1...) avec laquelle les guillemets ne sont pas utiles.
J'allonge un peu la sauce ? Pour la conversion, dans Access un module comme ceci : ____________________________________________________ Private Declare Function GetLongPathName Lib "kernel32" Alias _ "GetLongPathNameA" (ByVal lpszShortPath As _ String, _ ByVal lpszLongPath As String, _ ByVal cchBuffer As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" Alias _ "GetShortPathNameA" (ByVal lpszLongPath As _ String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long
Public Function NomLong(NomCourt As String) As String Dim strCheminFichier As String * 250 Dim strNomFichier As String strCheminFichier = String(250, Chr$(32)) GetLongPathName NomCourt, strCheminFichier, 250 NomLong = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0))) End Function
Public Function NomCourt(NomLong As String) As String Dim strCheminFichier As String * 250 strCheminFichier = String(250, Chr$(32)) GetShortPathName NomLong, strCheminFichier, 250 NomCourt = Left$(strCheminFichier, InStr(1, strCheminFichier, Chr$(0))) End Function
____________________________________ teddy a écrit, le 11/09/2005 15:36 :
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses... même avec Google, on trouve tout, même des lecteurs de DVD ou des aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$ Merci d'avance.
Ted
teddy
Merci à tous ! Finalement, j'ai choisi d'encadrer ma constante par des Chr$(34) et ça marche !!!!
Ted
" teddy" a écrit dans le message de news:
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses... même avec Google, on trouve tout, même des lecteurs de DVD ou des aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$ Merci d'avance.
Ted
Merci à tous !
Finalement, j'ai choisi d'encadrer ma constante par des Chr$(34) et ça marche
!!!!
Ted
" teddy" <teddy@wanadoo.fr> a écrit dans le message de news:
u6ZQbXttFHA.1252@TK2MSFTNGP09.phx.gbl...
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses... même
avec Google, on trouve tout, même des lecteurs de DVD ou des aspirateurs à
vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne
comportent pas un nom avec 1 espace :
Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " &
P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole
avec des Chr$
Merci d'avance.
Merci à tous ! Finalement, j'ai choisi d'encadrer ma constante par des Chr$(34) et ça marche !!!!
Ted
" teddy" a écrit dans le message de news:
Bonjour,
Je sais, la question a déjà été posée mais pour retrouver les réponses... même avec Google, on trouve tout, même des lecteurs de DVD ou des aspirateurs à vendre en cherchant cela !
Voici le code VB (idem en VBS) qui ne marche bien que si les chemins ne comportent pas un nom avec 1 espace : Ret = Shell("C:Program FilesMicrosoft OfficeOFFICE11MSACCESS.EXE " & P_DATABASE, vbMaximizedFocus)
Auriez-vous une solution, j'ai des problèmes de syntaxe dès que je bricole avec des Chr$ Merci d'avance.