PYTHON 한글자동화

[ 한글 자동화 ] 한글(HWP) 문서 및 프로그램 종료(Quit(), Clear(), Run("FileClose"), XHwpDocuments.Close())

나루하루001 2025. 5. 11. 13:14
반응형

 들어가며

 

한글 문서 작업을 자동화할 때 프로그램을 종료하는 것은 매우 중요합니다.

 

한글(HWP) 문서 작업 자동화에서 프로그램을 올바르게 종료하거나 문서를 닫는 것은 

스크립트의 안정성과 데이터 무결성을 위해 매우 중요합니다. 

 

이번 글에서는 

한글 자동화 시 사용되는 다양한 종료 및 문서 닫기 방법들, 

즉 Quit() 함수, Clear() 함수, Run("FileClose") 액션, 

그리고 XHwpDocuments.Item(0).Close() 메서드의 차이점과 각각의 사용법을 자세히 살펴보겠습니다.

 

 

 Quit() 함수 : 완전한 종료

 

Quit() 함수한글 프로그램 자체를 완전히 종료하는 함수입니다.

이 함수를 호출하면 현재 열려있는 모든 문서가 닫히고 한글 프로세스가 완전히 종료됩니다.

 

Quit() 함수를 호출하기 전에는

Save() 함수나 SaveAs() 함수를 사용

문서를 저장한 다음 호출하는 것이 좋습니다.

 

저장되지 않은 변경사항이 있을 경우

저장 여부를 묻는 대화상자가 표시되기는 하지만,

예상치 못한 중단을 일으킬 수 있으므로

반드시 저장 후 Quit() 함수를 호출하는 것이 좋습니다.

 

 

 Clear() 함수 : 문서 닫고 빈 문서 편집 상태로 돌아감

 

Clear() 함수현재 편집 중인 문서를 닫습니다.

Clear() 함수를 호출하면 

현재 편집 중인 문서가 닫히고

빈 문서가 나타납니다.

 

Clear() 함수는 하나의 인자를 받을 수 있습니다.

0 : 문서의 내용이 변경되었을 때, 사용자에게 저장할지 물어봅니다.
1 : 저장하지 않고 닫습니다.
2 : 문서가 변경된 경우 저장합니다.
3 : 무조건 저장합니다.

 

하지만 Clear() 함수에 인자를 전달하여 저장 여부를 결정하는 것보다는

미리 Save() 함수나 SaveAs() 함수를 사용해

명시적으로 저장을 완료한 다음

Clear() 함수를 호출하는 것이 일반적입니다.

 

반응형

 Run("FileClose") 액션 호출하기 : 현재 문서 닫기

 

Run("FileClose")를 실행하면 현재 문서가 닫힙니다.

 

한글 프로그램 파일 메뉴의 문서 닫기와 동일한 기능입니다.

만약 문서의 내용이 변경되었다면,

저장할 것인지 묻는 대화창이 나타납니다.

 

 

 Clear() vs Run("FileClose")

 

두 동작이 비슷하긴 하지만,

실행해 보면 조금 차이가 있습니다.

 

Clear() 함수를 호출하면 기존 문서가 닫히고

빈 문서 2가 생성이 됩니다.

 

Run("FileClose")를 호출하면 기존 문서가 닫히고

빈 문서 1이 생성이 됩니다.

 

아래 코드를 통해 확인해 보면 차이를 알 수 있습니다.

hwp.Run("FileClose")
print(hwp.Path)

hwp.Clear()
print(hwp.Path)

 

Run("FileClose") 호출 후 파일의 경로는

기존에 불러왔던 파일의 경로를 출력합니다.

C:\Users\karur\Desktop\한글 테스트 문서.hwp

 

하지만 Clear() 함수를 호출하면 빈 문자열을 출력합니다.

즉, 경로가 없습니다.

 

두 방식의 차이는 파일의 경로를 유지하냐 안 하냐의 차이인 것으로 보이고

실제로 사용자가 사용하는 측면에서는 큰 차이는 없어 보입니다.

 

만약 기존 경로를 활용해야 한다면

Run("FileClose")를 

기존 경로를 활용하지 않아도 된다면

Clear()를 사용하면 될 것으로 보입니다.

 

 

 hwp.XHwpDocuments.Item(0).Close(isDirty=False)

 

이 함수는 동작은 Run("FileClose")와 동일하게 동작하지만,

파일의 저장 여부를 결정할 수 있습니다.

 

False가 인자로 전달되면 내용이 변경되어도 닫아버립니다.

이때 저장여부를 묻지 않고 그냥 닫아버리며

내용도 저장되지 않습니다.

 

True가 인자로 전달되면 문서의 내용이 변경되었을 경우

문서를 닫지 않습니다.

그냥 단순히 문서를 닫지 않은 뿐입니다.

 

 

 마치며

 

문서를 닫는 네 가지 방법을 작성했습니다.

여러 가지를 작성했지만,

실질적으로 가장 많이 쓰이는 것은 Quit()입니다.

 

나머지 방식들은 특별한 경우를 제외하면

잘 사용하지는 않으나,

이런 기능도 있다는 것 정도는 확인하시면 좋을 것입니다.

[ 파이썬 관련 블로그 글 목록 ] 

파이썬(Python) 블로그 목록

 

반응형