2013-05-27 67 views
3

如何擺脫允許用戶在Excel Viewer控件中添加新工作表的最後一個工作簿選項卡?隱藏新工作表標籤

SO16766034 question example

我發現下面的代碼來隱藏上述圖像中的按鈕:

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

但將一個COM異常:

「錯誤HRESULT E_FAIL一直從調用com組件返回「。

相同的命令適用於像Ply,Cell等其他命令欄。

+4

您可以保護工作簿結構。然後按鈕不會做任何事情。 – teylyn

+0

我知道這個teylyn,但我正在尋找一種方法來完全隱藏它,因爲我的老闆專注於此。 –

+0

是否隱藏工作簿中的所有選項卡對您來說都是矯枉過正? – pnuts

回答

0

嘗試此

Sub remove() 
    ActiveWindow.DisplayWorkbookTabs = False 
End Sub 

Sub add() 
    ActiveWindow.DisplayWorkbookTabs = True 
End Sub 
0

示例代碼隱藏通過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);