2011-11-30 82 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\")"); 
相關問題