OVH Cloud OVH Cloud

shell + chemin de fichier

2 réponses
Avatar
Nicolas
Bonjour,

J'utilise la commande shell pour lancer diverses=20
applications =E0 partir de mon appli vb6.

Seul probl=E8me, cette commande ne semble pas g=E9rer les=20
espaces dans les noms de fichiers ou de r=E9pertoires.

Exemple :

"shell C:\Program Files\Microsoft Office\Office\EXCEL.EXE=20
c:\monrep\fichier.xls" fonctionne tr=E8s bien

Tandis que

"shell C:\Program Files\Microsoft Office\Office\EXCEL.EXE=20
c:\mon rep\fichier 15.xls" plante syst=E9matiquement, il=20
consid=E9rer chaque bloc s=E9par=E9 par un espace comme un=20
argument, ce qui donne :
c:\mon
rep\fichier
15.xls

Je pr=E9cise que je ne peux pas me permette d'obliger le=20
client =E0 cr=E9er des noms r=E9pertoires ou de fichiers sans=20
espaces.

Si vous avez des pistes ...

Merci

Nicolas

2 réponses

Avatar
fabien
Bonjour, essaie de mettre le path du fichier xls entre
guillemets

'c:mon repfichier.xls'

Fabien


-----Message d'origine-----
Bonjour,

J'utilise la commande shell pour lancer diverses
applications à partir de mon appli vb6.

Seul problème, cette commande ne semble pas gérer les
espaces dans les noms de fichiers ou de répertoires.

Exemple :

"shell C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE
c:monrepfichier.xls" fonctionne très bien

Tandis que

"shell C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE
c:mon repfichier 15.xls" plante systématiquement, il
considérer chaque bloc séparé par un espace comme un
argument, ce qui donne :
c:mon
repfichier
15.xls

Je précise que je ne peux pas me permette d'obliger le
client à créer des noms répertoires ou de fichiers sans
espaces.

Si vous avez des pistes ...

Merci

Nicolas
.



Avatar
serge benamou
est-ce que tu a essayé de mettre ton chemin dans une
variable string
Fichier = "c:mon repfichier 15.xls"

"shell C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE
Fichier"

Ca doit être jouable non????

Ou alors utilise l'API :

Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal
lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String,
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Lo

ShellExecute hWnd, "Open", Fichier, "", App.Path, 1 ou
quelquechose du genre....


-----Message d'origine-----
Bonjour,

J'utilise la commande shell pour lancer diverses
applications à partir de mon appli vb6.

Seul problème, cette commande ne semble pas gérer les
espaces dans les noms de fichiers ou de répertoires.

Exemple :

"shell C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE
c:monrepfichier.xls" fonctionne très bien

Tandis que

"shell C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE
c:mon repfichier 15.xls" plante systématiquement, il
considérer chaque bloc séparé par un espace comme un
argument, ce qui donne :
c:mon
repfichier
15.xls

Je précise que je ne peux pas me permette d'obliger le
client à créer des noms répertoires ou de fichiers sans
espaces.

Si vous avez des pistes ...

Merci

Nicolas
.