2012-05-24 52 views
2

我已經在Excel表格中寫入了一些代碼,其中它將文本文件轉換爲Excel表格並對數據執行一些驗證過濾正確的數據和錯誤數據,並將其分離爲正確的文本文件和錯誤文本文件。整個邏輯在excel打開時運行。打開這個excel的邏輯是寫在我的.net應用程序在C#中。當excel通過C#代碼打開時,宏並未執行,而在Excel中手動打開時執行VBA代碼

的代碼是:

FileInfo fi = new FileInfo("C:\automate_load.xlsm"); 

if (fi.Exists) 
{ 
    Excel.Application excelapp = new Excel.Application(); 
    excelapp.Visible = true; 
    Excel.Workbook wb = excelapp.Workbooks.Open("C:\automate_load.xlsm", 0, 
     false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); 

當我手動打開automate_load.xlsm文件中,整個VBA代碼運行正常,但是當該文件由我的C#代碼沒有打開的情況。

我認爲當文件自動打開時,micros被禁用。 請幫我解決一些問題。 在此先感謝....

回答

0

如果你要運行存儲在您打開xlsm文件中的sub然後選中該複選框(快捷鍵:Alt + T + M + S):

Office 2010 Office 2003

我不太確定,但認爲它可能有幫助。

+0

我正在使用office 2003.當我打開文件manualy代碼工作正常,但是當通過我的.net應用程序打開該文件時,什麼都不會發生。 – user1415173

+0

「快捷方式」也可以在「Office 2003」中使用。 – Cylian

相關問題