通过.NET Office PIA在Excel.Application中设置当前目录
我想从.NET应用程序创buildExcel电子表格,然后将Excel.Application实例当前目录设置为一个自定义文件夹。 我想这样做,所以当用户单击Excel中的保存button时,另存为对话框已经位于正确的目录中。
我知道可以使用VBA.FileSystem.ChDir在Excel Instance中更改当前目录,并使用VBA Code / Macro在Excel.Application实例中执行此操作,如下所示:
-
从C#.NET创build一个Excel电子表格
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); excel.Workbooks.Add(); excel.Visible = true;
-
Excel电子表格打开时,按ALT + F11。 然后创build并运行下面的macros
Sub SetChdir() Call FileSystem.ChDir("C:\To\My\Custom\Directory\") End Sub
-
当单击Excel中的保存时,当前目录被设置为使用ChDir的path
我不知道,或者即使有可能,如何从.NET创build这种行为。 我厌倦了Excel使用Excel.DefaultFilePath启动时设置当前目录。 但有两个问题:
- 当DefaultFilePath设置为不同的值时,您需要重新启动Excel以使其对新的或打开的电子表格有影响
- 我真的不想更改用户当前的DefaultFilePath,因为它是Excel的全局值,而不是这个单独的电子表格。
还有另一种方法。
excel.ExecuteExcel4Macro("DIRECTORY(\"C:\\To\\My\\Custom\\Directory\")");