使用C#运行后,Excel宏变为只读

时间:2018-10-01 23:34:23

标签: c# excel vba excel-vba

因此,我编写了一个excel宏,并尝试使用C#运行子过程,起初它可以工作,但是当我开始添加另一组代码时,会出现错误,提示:

System.Runtime.InteropServices.COMException: 'Cannot run the macro 'Greetings'. 
The macro may not be available in this workbook or all macros may be disabled.'

然后,每当我打开.xlsm文件时,它都表示只读。 我尝试检查信任设置,并允许其中的所有内容。但是仍然会发生相同的错误。我右键单击该文件,然后转到“属性”,并且未选中“只读”复选框,因此我不知道发生了什么。我尝试重新启动,但仍然是相同的错误。

这是以前运行的代码,但是当我重新运行时,它抛出了异常

 private void RunMacro(string greet, string title)
        {
            Excel.Application xlApp = new Excel.Application();

            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\Users\TERAKOKO\Documents\xlkalat\Copy of Book2.xlsm");
            xlApp.Run("Greetings", greet, title);//EXCEPTION HERE
            xlWorkbook.Close();
            xlApp.Quit();

            ReleaseObject(xlApp);
            ReleaseObject(xlWorkbook);


        }

这是马可

Sub Greetings(msg As String, title As String)
MsgBox msg, vbInformation, title
End Sub

我也尝试过运行xlsm文件,它表示该文件正在使用中,已被TERAKOKO锁定以进行编辑,但我是PC上的唯一帐户。我试图通过任务管理器结束该过程,但发生相同的错误。

0 个答案:

没有答案