我正在尝试使用标准的Microsoft.Office.Interop.Excel库在C#的Excel工作簿中运行宏 . 在我的场景中,Excel的版本可以是2010年或2013年 .
可能有多个工作簿为同一个Application对象打开,每个工作簿可能具有相同的宏名称,因此我明确地传入工作簿名称
string macro = string.Format("{0}!{1}", workbook.Name, macroName);
Application.Run(macro);
奇怪的是,如果工作簿名称中包含连字符,则会出现COMException:
Application.Run("My-Workbook!macro1")
但运行正常没有连字符:
Application.Run("MyWorkbook!macro1")
这只是我还是这很奇怪?谁能想到一个解决方法?
1 回答
在quotes中包装工作簿名称