2011-10-19 2 views
0

내 코드가 실행 중일 때 재시도가있는 Excel의 메시지 상자 팝업이 있습니다. 매번 입력 할 때 Enter 키를 누르면 시뮬레이트 할 수 있습니다. 이것은 내 코드를 얼려 버리는 Messagebox입니다.코드 (C#) 동안 Excel 메시지

enter image description here

나는 그들 중 하나 OLE 메시지를 사용 해제,하지만, 난 여전히이 메시지 박스를 재 시도에 대한 클릭을 시뮬레이션 또는 키를 입력 할 수있는 방법을 얻을,? 당신이 결코 Application.DoEvents() 전화를 사용하지 않습니다 큰 루프를 가지고 있기 때문에 문제가 발생하는 경우

//Turn off OLE Error Message 
oXL.DisplayAlerts = false; 
+0

코드를 단계별 실행하면 우연히 특정 줄에이 코드가 나타납니다. – KreepN

답변

1

InputSimulator에 키 스트로크 (keystroke)를 보내려면 SendKeys 매크로를 시도 할 수는 키보드와 마우스 이벤트를 시뮬레이션 할 수있는 매우 유연 (신뢰성) 래퍼입니다.

그것은 SendInput을 후드로 랩핑하지만 모든 PInvoke 호출 및 기타 복잡성을 추상화합니다. 그것은 (귀하의 상황에 대한) 한 줄의 코드 만 가져야하는 DLL의 드롭입니다.

InputSimulator.SimulateKeyPress(VirtualKeyCode.ENTER); 
+0

나는 그것이 가능하다는 것을 알지조차 모를 정도로 굉장합니다. 감사합니다 –

+0

당신은 대단히 환영합니다. – robowahoo

0

궁금하네요? 그 문제를 해결할 수있는 가난한 방법 인 것처럼 보이는 메시지를 기각하는 것.

2

당신은 메시지 상자