2013-05-27 3 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

C 번호를 통해 엑셀의 (하단)의 탭 바를 숨길이

Sub remove() 
    ActiveWindow.DisplayWorkbookTabs = False 
End Sub 

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

샘플 코드 시도 ...

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 = 거짓;

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