OVH Cloud OVH Cloud

Instruction Shell

1 réponse
Avatar
jean saint jalmes
Bonjour,

Sous VB6.0 j'utilise l'instruction Shell pour ouvrir un fichier .jpeg avec
le logiciel photo approprié (photoshop element 3.0)

Un problème survient lorsque le nom du fichier .jpeg comporte des espaces.
Par quoi faut-il remplacer les espaces pour que le logiciel cible
(photoshop) puisse ouvrir le fichier ?

J'ai essayé %20 mais cela ne marche pas.

Exemples :
- Le Mourtis.jpeg --> photoshop veux créer le document "Le"
- Le%20Mourtis ---> photoshop veux créer le document "Le%20Mourtis"

Merci pour votre aide et bonne année 2007.

Jean

1 réponse

Avatar
Jean-marc
"jean saint jalmes" a écrit dans
le message de news:
Bonjour,

Sous VB6.0 j'utilise l'instruction Shell pour ouvrir un fichier .jpeg avec
le logiciel photo approprié (photoshop element 3.0)

Un problème survient lorsque le nom du fichier .jpeg comporte des espaces.
Par quoi faut-il remplacer les espaces pour que le logiciel cible
(photoshop) puisse ouvrir le fichier ?

J'ai essayé %20 mais cela ne marche pas.

Exemples :
- Le Mourtis.jpeg --> photoshop veux créer le document "Le"
- Le%20Mourtis ---> photoshop veux créer le document "Le%20Mourtis"

Merci pour votre aide et bonne année 2007.




Hello,

Il suffit d'encadrer le nom du fichier avec des guillemets.

Voici une ouverture du fichier "my data.txt" avec notepad, avec
une commande Shell:

Call Shell("c:windowsnotepad.exe ""c:my data.txt""", vbNormalFocus)

=>>ne pas oublier de doubler les guillemets si tu invoques shell avec une
chaine.

Mais le plus propre serait de faire comme ceci:

Private Sub Command1_Click()
Dim appName As String
Dim fileName As String

appName = "c:windowsnotepad.exe"
fileName = "c:my data.txt"

Call Shell(appName & " " & Chr$(34) & fileName & Chr$(34),
vbNormalFocus)

End Sub

Chr$(34) renvoie le caractère guillemet.

Cei fonctionne pour tous les fichiers, même quand il n'y a pas d'espaces
dans le nom, bien sur!!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/