2009-07-05 68 views
1

我想用C#中的Class打开一个文件,使用一个进程,位于一个directoy中,我问用户。从C#执行excel应用程序

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

的问题是,当用户指定的文件的位置有一个空间,””,擅长认为我发送两个sepparate位置。例如,用C:\ Users \ dj \ Desktop \ da ba excel试图打开“C:\ Users \ dj \ Desktop \ da”作为一个文件,同时“ba”作为另一个文件。我怎样才能发送一个位置到有空间的excel,而没有这个错误?有像C:\ Users \ dj \ Desktop \ daba这样的地址,没有空间,它完美地工作。

回答

2

尝试使用字符串字面

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

尝试引用您的路径:

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

0

这样的工作

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