报错内容如下:
System.Runtime.InteropServices.COMException:“无法运行“Main”宏。可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用。”
c#代码如下
private void btnMacro_Click(object sender, EventArgs e)
{
ApplicationClass oExcel = new ApplicationClass();
Workbooks oBooks = oExcel.Workbooks;
oBooks.Open(@"C:\Users\fangjf093\Desktop\test.xlsm");
oExcel.Visible = true;
oExcel.Run("Main");
}
vba设置如下:
求解答!
程序员的常识之一:不要将程序源代码或项目或exe放在桌面这种复杂(多半带空格和汉字且在防火墙或杀毒软件严密控制的C盘上)的目录下。
关闭UAC、防火墙、杀毒软件、……
以管理员身份运行
……
关了也不行啊兄弟,我换自己电脑按你说的做了也不行
1、不如直接在C#代码实现,不用宏了,麻烦。
2、可以尝试下,明确指定宏的文件路径,如oExcel.Run(“‘文件路径’!Main");