Process Start et chemin de fichier en VBA [Résolu/Fermé]

- - Dernière réponse :  Mal54 - 12 sept. 2009 à 14:46
Bonjour,

Je rencontre un problème lors de mon programme en VBA : j'utilise un OpenFileDialog pour parcourir mon ordinateur et trouver un fichier, puis je recopie le chemin du fichier dans une Textbox. Ensuite j'aimerai lancer EXCEL avec ce fichier, j'ai donc écrit :

Process.Start("EXCEL.exe", TextBox1.Text.ToString())

Seul problème, il y a des espaces dans mon fichier, il faudrait donc que je passe ce qu'il y a dans TextBox1.Text.ToString() avec des parenthèses, mais comment faire ?

Merci pour vos réponses.
Afficher la suite 

7 réponses

Meilleure réponse
3
Merci
Bon je pense avoir trouvé la solution : je déclare un String auquel je donne la valeur "" + résultat de mon openfile dialog + "". Ca passe bien dans le process start (pour que Process Start tourne bien avec les espaces, il faut lui indiquer par exemple Process.Start("EXCEL.exe", """C:\Mon répertoire\Mon fichier.ext""")

Dim cheminfichier As String
cheminfichier = """" + OpenFileDialog1.FileName + """"
Process.Start("EXCEL.exe", cheminfichier)

Merci quentin63 pour tes idées en tout cas

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62795 internautes nous ont dit merci ce mois-ci

Messages postés
655
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
21 septembre 2015
117
1
Merci
Je pense que tu pourrai enlever les parenthéses du fichiers concerner non ?
1
Merci
Tu veux peut être dire enlever les espaces ? Le seul problème c'est que ca va être un programme qui prend en argument des fichiers dans différents répertoires (par exemple C:\Documents And Settings\Mon fichier excel.xls), et qui doit etre facile d'utilisation, si on doit à chaque fois changer le chemin du fichier pour l'avoir sans espaces (C:\monfichier.xls) cela va être assez laborieux
Messages postés
655
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
21 septembre 2015
117
1
Merci
Moi, c'est ce que je vois. Après, ben je suis pas spécialement qualifiè pour ^^
1
Merci
Merci, mais j'aurais quand même aimé avoir une méthode permettant de prendre en compte les espaces, si quelqu'un a ca sous la main.
Messages postés
655
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
21 septembre 2015
117
1
Merci
Et en mettant un _ pour les espaces ?
1
Merci
Je ne sais pas si ce qui suit peut t'aider mais...

Après avoir récupérer le chemin du fichier dans TexBox1 il te suffit d'utiliser les noms court de fichier....

Dim Chemin_court as string 'Variable qui contiendra le chemin court
set fso=createObject("Scripting.fileSystemObject") 'On créer une instance File system Object
set Fichier_excel=fso.getFile(TexBox1.text) 'On obtient le fichier de du chemin TextBox1.text
Chemin_court=fichier_excel.shortpath 'On renvoie le chemin court dans la variable
set fso=nothing
set Fichier_excel=Nothing
'Tu obtiendra un chemin du genre : "C:\DOC~\jenesaispasquoi~\FichierExecel.xls"