BUG: 사용자가 Excel 목록 행 CommandButton Click 이벤트에서 삭제할 수 없습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 823988 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Office Excel 2003용 관리 코드 확장을 작성한. 솔루션에 MSForms 명령 단추 컨트롤의 Click 이벤트를 사용하여 행의 워크시트에 있는 목록 개체에서 제거합니다. 목록 행을 제거하려면 이 단추를 클릭하면 행 제거 및 런타임 오류 메시지가 나타날 수 있습니다.

현재 상태

Microsoft은 Office Excel 2003 버그가 있음을 확인했습니다.

해결 방법

이 문제를 해결하려면 목록에서 행을 삭제할 때 CommandButton 포커스가 없는지 확인하십시오. 다음 방법 중 하나를 사용하십시오.
  • CommandButtonTakeFocusOnClick 속성을 false 로 설정하십시오.

    - 또는 -
  • 현재 워크시트 선택 명령 단추 밖으로 포커스를 둘 적정.

해결 과정

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
  • 명령 단추 컨트롤에 대한 TakeFocusOnClick 속성을 false 로 설정할:
    protected void ThisWorkbook_Open()
    {
    	//Get a reference to the first worksheet.
    	ws = (Excel.Worksheet)(ThisWorkbook.Worksheets[1]);
    
    	//Set up the Click event handler for CommandButton1.
    	cb = (MSForms.CommandButton)(this.FindControl("CommandButton1"));
    	cb.Click+= new MSForms.CommandButtonEvents_ClickEventHandler(cbClick);
    
    	cb.TakeFocusOnClick = false;
    }
    


    - 또는 -
  • 현재 워크시트의 선택 에서 CommandButton 포커스를 제거하려면 Select 메서드를 호출하여:
    private void cbClick()
    { 
    	ThisApplication.Selection.GetType().InvokeMember("Select",
    		System.Reflection.BindingFlags.Public | 
    		System.Reflection.BindingFlags.InvokeMethod | 
    		System.Reflection.BindingFlags.Instance,
    		null,
    		ThisApplication.Selection,
    		null);
    	
    	ws.ListObjects[1].ListRows[1].Delete();
    }
    

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

  1. Microsoft Visual Studio .NET 2003 시작하십시오.
  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트 를 클릭하십시오.
  3. 프로젝트 형식 목록에서 Microsoft Office 시스템 프로젝트 를 확장한 다음 Visual C# 프로젝트 를 클릭하십시오. Excel 통합 문서 서식 파일 목록에서 선택하고 확인 을 클릭하십시오.
  4. 마침Office의 프로젝트 마법사 를 클릭하십시오.
  5. F5 키를 눌러 프로젝트를 실행하려면 및 Excel에서 통합 문서를 엽니다.
  6. 통합 문서를 다음과 같이 수정하십시오.
    1. A1 셀을 선택하십시오.
    2. 데이터 메뉴에서 목록 을 가리킨 다음 목록 만들기를 클릭하십시오. 목록 만들기 대화 상자가 나타납니다. 확인 을 클릭하십시오.
    3. A2, A3, A4 셀에 텍스트를 추가할 (A2:A4).
    4. 보기 메뉴에서 도구 모음 을 가리킨 다음 컨트롤 도구 상자 를 클릭하십시오.
    5. 워크시트에 있는 명령 단추 컨트롤을 그립니다. 기본 이름인 CommandButton1 을.
    6. 통합 문서를 저장한 다음 Excel을 종료하십시오.
  7. Thisworkbook.cs 코드 모듈에 다음 코드를 추가합니다: 개인 MSForms.CommandButton cb
    private MSForms.CommandButton cb;
    private Excel.Worksheet ws;
    
    protected void ThisWorkbook_Open()
    {
    	//Get a reference to the first worksheet.
    	ws = (Excel.Worksheet)(ThisWorkbook.Worksheets[1]);
    
    	//Set up the Click event handler for CommandButton1.
    	cb = (MSForms.CommandButton)(this.FindControl("CommandButton1"));
    	cb.Click+= new MSForms.CommandButtonEvents_ClickEventHandler(cbClick);
    }
    
    private void cbClick()
    {
    	try
    	{
    		//Delete the first row in the list object.
    		ws.ListObjects[1].ListRows[1].Delete();
    	}
    	catch (Exception ex)
    	{
    		System.Diagnostics.Debug.WriteLine(ex.Message);
    		MessageBox.Show(ex.Message);
    	}
    }
    
  8. F5 키를 눌러 빌드하고 프로젝트를 실행합니다.
  9. CommandButton1 을 클릭하십시오.

    결과 목록에서 행을 삭제할 때 예외가 검색되었습니다. 다음 오류 메시지가 나타난다
    HRESULT에서 예외: 0x800A03EC

속성

기술 자료: 823988 - 마지막 검토: 2007년 1월 15일 월요일 - 수정: 2.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Excel 2003
  • Microsoft Visual Studio Tools for the Microsoft Office System version 2003
키워드:?
kbmt kbbug kbautomation kbnofix KB823988 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com