Office Interop Excel 打开工作簿公式栏不显示

问题描述

使用以下函数,我打开了 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 (将#修改为@)