【问题标题】:Hide New Sheet tab隐藏新工作表选项卡
【发布时间】:2013-05-21 21:19:41
【问题描述】:

如何摆脱允许用户在我的 Excel 查看器控件中添加新工作表的最后一个工作簿选项卡?

我找到了以下代码来隐藏上图中的按钮:

ExcelViewer1.Application.CommandBars["Workbook tabs"]._  
              Controls["Sheet List"].Visible = false;

但它会引发 COM 异常:

“调用 com 组件返回了错误 HRESULT E_FAIL”。

相同的命令适用于 Ply、Cell 等其他命令栏。

【问题讨论】:

  • 您可以保护工作簿结构。然后按钮不会做任何事情。
  • 我知道这个 teylyn,但我正在寻找一种完全隐藏它的方法,因为我的老板只关注这个。
  • 嗨@pnuts。不,我需要向用户显示工作表标签!

标签: c# winforms visual-studio-2010 excel-2007


【解决方案1】:

试试这个

Sub remove()
  ActiveWindow.DisplayWorkbookTabs = False
End Sub

Sub add()
  ActiveWindow.DisplayWorkbookTabs = True
End Sub

【讨论】:

    【解决方案2】:

    通过 C# 隐藏 excel 的标签栏(底部)的示例代码...

    object misValue = System.Reflection.Missing.Value;
    Microsoft.Office.Interop.Excel.Application appExcel = new 
    Microsoft.Office.Interop.Excel.Application();
    appExcel.Visible = false;
    Microsoft.Office.Interop.Excel.Workbook workbook = appExcel.Workbooks.Add(misValue);
    Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
    workbook.SaveAs(Environment.CurrentDirectory + @"\a.xls", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
    

    appExcel.ActiveWindow.DisplayWorkbookTabs = false;

    appExcel.Workbooks.Close();
    appExcel.Quit();
    Marshal.ReleaseComObject(worksheet);
    Marshal.ReleaseComObject(workbook);
    

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多