2009-07-05 4 views
1

Je veux ouvrir un fichier à partir d'une classe en C# en utilisant un processus, situé dans un répertoire que j'ai demandé à l'utilisateur.L'exécution excel de C# Application

ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "EXCEL.EXE"; 
startInfo.Arguments = Here goes the directory I asked 
Process.Start(startInfo); 

Le problème, est que lorsque l'emplacement du fichier indiqué par l'utilisateur dispose d'un espace « , », Excel pense que je suis l'envoi de deux emplacements sepparate. Par exemple, avec C: \ Users \ dj \ Desktop \ da ba excel essaie d'ouvrir "C: \ Users \ dj \ Desktop \ da" comme un fichier, et en même temps "ba" comme un autre fichier. Comment puis-je envoyer un emplacement pour exceler qui a un espace, sans avoir cette erreur? avec un addres comme C: \ Users \ dj \ Desktop \ daba sans espace cela fonctionne parfaitement.

Répondre

2

Essayez d'utiliser une chaîne de caractères

startInfo.Arguments = @"C:\Users\un\Desktop\file with space" 
3

Essayez de citer votre chemin:

startInfo.Arguments = "\"" + "C:\Users\dj\Desktop\da ba.xls" + "\""; 

Tim

0

De cette façon fonctionne

"\"" + @dialog.FileName + "\"";