2011-11-30 40 views
1

我想从.NET应用程序创建Excel电子表格,然后将Excel.Application实例当前目录设置为自定义文件夹。我想这样做,所以当用户单击Excel中的保存按钮时,另存为对话框已经位于正确的目录中。通过.NET Office在Excel.Application中设置当前目录PIA

我知道这是可能的VBA.FileSystem.ChDir更改Excel实例当前目录下,并用这样的VBA代码/宏一个Excel.Application实例中这样做:

  1. 创建一个Excel电子表格from C#.NET

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 
    excel.Workbooks.Add(); 
    excel.Visible = true; 
    
  2. 当Excel电子表格打开时,按下ALT + F11。然后创建并运行下面的宏

    Sub SetChdir() 
        Call FileSystem.ChDir("C:\To\My\Custom\Directory\") 
    End Sub 
    
  3. 当在Excel中单击保存当前目录设置路径与CHDIR

    设置

我想不通,甚至如果可能的话,如何从.NET创建这种行为。我厌倦了Excel在启动时使用的Excel.DefaultFilePath来设置当前目录。但它有两个问题:

  • 当DefaultFilePath被设置为不同的值,则需要重新启动Excel,使之在新的或打开电子表格影响
  • 我真的不希望改变用户当前DefaultFilePath因为它是Excel的全局值,而不是这个单独的电子表格。
+0

您不能使用互操作库更改Excel的工作目录。宏是一样好。 –

回答

1

还有另外一种方法。

excel.ExecuteExcel4Macro("DIRECTORY(\"C:\\To\\My\\Custom\\Directory\")"); 
相关问题