问题描述
使用以下函数,我打开了 excel 和一个插件。我从另一个函数运行插件工作簿中的各种宏。
我遇到的问题是,当我打开工作簿时,“.Application.displayFormulaBar”设置被设置为“False”,而根据文档,它应该默认为“True”。
此外,即使我明确设置了设置,它也不会抛出异常,也不会应用该设置。 .Application.displayFormulaBar 仍然为 false。
public static Microsoft.Office.Interop.Excel.ApplicationClass OpenExcel()
{
// Object for missing (or optional) arguments.
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.ApplicationClass oExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
oExcel.Visible = true;
oExcel.displayFullScreen = true;
Microsoft.Office.Interop.Excel.Workbooks oBooks = oExcel.Workbooks;
Microsoft.Office.Interop.Excel._Workbook oBook = null;
string path = "C:\\Users\\" + Environment.UserName + "\\AppData\\Roaming\\Microsoft\\AddIns\\MacroAddin.xlam";
oBook = oBooks.Open(path,oMissing,oMissing);
return oExcel;
}
//run a macro
public static void RunMacro(object oApp,object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod,null,oApp,oRunArgs);
}
我尝试将以下两件事添加到 OpenExcel() 中以尝试了解发生了什么:
oBook.Application.displayFormulaBar = true;
MessageBox.Show(oBook.Application.displayFormulaBar.ToString());
oExcel.Application.displayFormulaBar = true;
MessageBox.Show(oExcel.Application.displayFormulaBar.ToString());
但公式栏保持隐藏状态,尽管在消息框之前设置了设置,结果还是“假”
此时我不知道要检查什么。我刚开始添加 Application.displayFormulaBar = true;到宏本身。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)