当excel通过C#代码打开时,macros不执行,而在手动打开excel时执行VBA代码
我已经在Excel表格中写了一些代码,在Excel表格中,它将文本文件转换为Excel表格,并对数据执行一些validation,以过滤正确的数据和错误数据,并将其分隔为正确的文本文件和错误文本文件。 当excel打开时,整个逻辑运行。 打开这个excel的逻辑是写在我的.net应用程序在C#中。
代码是:
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被禁用。 请帮我解决一些问题。 提前致谢….
如果要运行存储在打开的xlsm
文件中的sub
文件,请选中该checkbox(快捷键:ALT + T + M + S):
我不太确定,但认为这可能有帮助。
- Office 2013 c#加载项 – 空工作簿对象HRESULT:0x800A03EC错误
- 在Excel文档中从代码隐藏到达ActiveX或表单对象(文本框)
- 为什么当我使用没有OleDBConnection对象的OleDbDataAdapter对象时,.NET 2.0应用程序在.NET 4.0下崩溃?
- Excel Interop:退出Excel应用程序实例会使testing失败?
- C#.NET错误附加到运行Office应用程序的实例
- 在C#中用密码打开Excel,并从外部closuresExcel
- 如何检查是否检出Excel文件
- Winformsselect文件名保存文件
- 将类属性映射到Excel / Spreadsheet列名的问题(使用LinqToExcel库时)