我正在尝试使用以下代码从内存中保存工作簿:
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);
将this.Target.WorkBookPath从配置文件中读取为:
d:\ Devzone \ rpt_SalesMargins2
但我收到此错误消息:
无法访问该文件。请尝试以下操作之一:\ n \ n•制作 确保指定的文件夹存在。 \ n•确保该文件夹 包含文件不是只读的。\ n•确保文件名 不包含以下任何字符:< > ? []:|要么 * \ n•确保文件/路径名称不超过218个字符。
所以,如果我不能使用“:”那么如何指定D:\?
更新/ SANITY检查
在这张图片中,该文件名为rego,我尝试了几个随机名称,所有名称都作为相对路径工作,但在绝对时失败。
答案 0 :(得分:0)
我认为问题不在于:作为驱动器分隔符。来自Microsoft支持:
例如,文件的路径可能会重复以下内容: 'c:\ excel \ personal ... [my workbook.xls] up_to_31_char_sheetname'!$ A $ 1
注意如果路径中有方括号,也会出现此行为。 (强调我的)
http://support.microsoft.com/kb/213983
他们使用包含驱动器号的错误路径示例,并说坏事是路径中的 [。
您尝试使用的完整路径是什么?