Process Start et chemin de fichier en VBA

Résolu/Fermé
Clic - 8 juin 2009 à 16:34
 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.

7 réponses

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
3
quentin63 Messages postés 649 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 11 septembre 2015 130
8 juin 2009 à 16:35
Je pense que tu pourrai enlever les parenthéses du fichiers concerner non ?
1
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
1
quentin63 Messages postés 649 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 11 septembre 2015 130
8 juin 2009 à 16:42
Moi, c'est ce que je vois. Après, ben je suis pas spécialement qualifiè pour ^^
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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.
1
quentin63 Messages postés 649 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 11 septembre 2015 130
8 juin 2009 à 17:03
Et en mettant un _ pour les espaces ?
1
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"
1