차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

엑셀_파일_닫기 [2012/07/27 11:04] (현재)
admin 새로 만듦
줄 1: 줄 1:
 +====== 6. 엑셀 파일 닫기 ======
  
 +엑셀 파일을 작업 후 닫고자하는 경우 닫는 명령어가 없습니다.
 +
 +부득이 엑셀 파일을 닫고자하는 경우 다음 함수를 만들어 강제 종료하면 됩니다.
 +
 +<code>
 +FUNCTION KillExcel() 
 +  LOCAL hWnd := GetDesk32() 
 +  LOCAL aWnd := {} 
 +  LOCAL nCounter := 0 
 +  LOCAL aVisible := {} 
 +  LOCAL pID := 0 
 +
 +  hWnd := GetTopWindow32 ( hWnd ) 
 +  aadd ( aWnd, hWnd ) 
 +
 +  IF IsWndVisible ( hWnd ) 
 +      aadd ( aVisible, hWnd ) 
 +  ENDIF 
 +
 +  WHILE .T. 
 +      hWnd := GetWindow32 ( hWnd, 2 ) 
 +      IF ASCAN ( aWnd, hWnd ) <> 0 
 +          exit 
 +      ENDIF 
 +          aadd ( aVisible, hWnd ) 
 +          IF "MICROSOFT EXCEL" $ UPPER( GetWindowText( hWnd ) ) 
 +              GetWindowThreadProcessId( hWnd, @pID ) 
 +              DR_TERMINATE( pID ) 
 +          ENDIF 
 +      aadd ( aWnd, hWnd ) 
 +  ENDDO 
 +
 +RETURN NIL 
 +
 +DLL32 FUNCTION GetDesk32() AS LONG PASCAL FROM "GetDesktopWindow" LIB "user32.dll" 
 +DLL32 FUNCTION GetWindow32( hWnd AS LONG, nCmd AS LONG ) AS LONG PASCAL FROM "GetWindow" LIB "user32.dll" 
 +DLL32 FUNCTION GetTopWindow32( hWnd AS LONG ) AS LONG PASCAL FROM "GetTopWindow" LIB "user32.dll" 
 +DLL32 FUNCTION IsWndVisible( hWnd AS LONG ) AS BOOL PASCAL FROM "IsWindowVisible" LIB "user32.dll" 
 +DLL32 FUNCTION GetWindowThreadProcessId( hWnd AS LONG, @pID AS LONG ) AS LONG PASCAL FROM "GetWindowThreadProcessId" LIB "user32.dll"
 +</code>
 

Link categories 1

Link categories 2