Excel InterOp:如何WorkBook.SaveAs使用绝对path时,不允许使用“:”?

我正在尝试使用以下代码从内存中保存工作簿:

this.Target.WorkBook.SaveAs(this.Target.WorkBookPath, Interop.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Interop.XlSaveAsAccessMode.xlNoChange, Type.Missing,Type.Missing,Type.Missing,Type.Missing); 

在这里.Target.WorkBookPath从configuration文件读取为:

d:\ Devzone \ rpt_SalesMargins2

但我得到这个错误消息:

该文件无法访问。 请尝试以下方法之一:\ n \ n•确保指定的文件夹存在。 \ n•确保包含文件的文件夹不是只读的。\ n•确保文件名不包含以下任何字符:<>? []:| 或* \ n•确保文件/path名称不超过218个字符。

所以,如果我不能使用“:”那么我怎么能指定D:\?

更新/圣灵检查

配置

SANITY

在这个图像文件被称为rego,我已经尝试了几个随机名称,所有的工作作为相对path,但失败时,absoluted。

我不认为问题是:作为驱动器分隔符。 来自Microsoft支持:

例如,文件的path可能类似于以下内容:'c:\ excel \ personal … [my workbook.xls] up_to_31_char_sheetname'!$ A $ 1

注意如果path中有一个方括号 ,也会发生此行为。 (重点是我的)

http://support.microsoft.com/kb/213983

他们使用一个包含驱动器号的坏path的例子,并说坏道[在path中。

什么是你正在尝试使用的完整path?