한글 비밀번호 설정 질문드립니다.

현재 한글 2022를 사용중이고, Python 사용중입니다.

여기 참고 사진이고 Item들이 전부 none값이라 비밀번호 설정이 안되는데,
API를 통해 비밀번호 설정할 수 있는 법이 있을까요?

안녕하세요.

오토메이션 문서에는 비밀번호 설정에 대한 설명이 부족한 것 같습니다.
아래와 같이 가이드를 드리니 참고 부탁드립니다.

	HAction.GetDefault("FilePassword", HParameterSet.HPassword.HSet);
	with (HParameterSet.HPassword)
	{
		String = "12345";  // 비밀 번호
		Level = 1;		// 보안 수준 보통 (0), 보안 수준 높음 (1)	
		DialogType = 2;	// 새 암호 설정, 고정값
	}
	HAction.Execute("FilePassword", HParameterSet.HPassword.HSet);

감사합니다.

1개의 좋아요


일단, 주신 코드를 Python 형식으로 바꿔서 실행했습니다.
코드 오류는 없는데, 한글문서에 적용이 안됩니다.

해당 문제 알아봐주실 수 있나요?

레몬님께서 암호를 적용하는 시나리오는 아래와 같을 것 같습니다.

새 문서 or 문서 불러오기

암호 적용 (현재 작성 중인 코드)

파일 저장

암호를 적용을 하면 메모리에 있는 현재 도큐먼트에 적용된 것이고,
이를 문서 파일로 저장을 해야 암호가 설정된 문서 파일이 생성될 것 입니다.

파일 저장 로직을 구현해보시고 안되면 코멘트 부탁드립니다.

감사합니다.

1개의 좋아요

이미 해봤습니다.

이게 코드 실행 후 암호가 설정되면 바뀌어야하는데, 일단 바뀌지않았고
따로 save_as도 써서 저장해봤는데, 바로 더블클릭하니 바로 열리더군요…

스크립트 매크로를 사용해서 코드라도 알아볼까 했는데,
매크로 켜진 상태에서 저 문서 암호설정이 비활성화 되서 따로 스크립트도 못봤습니다.

직접 수동으로 할 땐, 잘 암호가 걸리는걸 볼 때 코드쪽에서 문제가 있는게 확실합니다.

내일 출근하면 다시 확인해보겠습니다. :sweat_smile:

1개의 좋아요

확인해봤는데요.

DialogType이라는 프로퍼티는 한글 2022 상위 버전부터만 가능했었네요.
아래처럼 비밀번호만 설정해서 실행하면 암호 지정이 가능할거에요.

HAction.GetDefault("FilePassword", HParameterSet.HPassword.HSet);
with (HParameterSet.HPassword)
{
	String = "12345";  // 비밀 번호
}
HAction.Execute("FilePassword", HParameterSet.HPassword.HSet);

감사합니다.

1개의 좋아요

버젼 2024로 올리니까 기존 코드에 잘 적용되네요.
해결했습니다 감사합니다 :slight_smile:

이상하네요. :thinking:
아래 작성된 코드를 버전에 관계없이 스크립트 창에서 돌리면 잘 동작하거든요.

HAction.GetDefault("FilePassword", HParameterSet.HPassword.HSet);
with (HParameterSet.HPassword)
{
	String = "12345";  // 비밀 번호
}
HAction.Execute("FilePassword", HParameterSet.HPassword.HSet);

2022 한글쪽에 버그가있는지… python으로 실행했을 때 작동이 안되는데
2024는 잘 작동합니다! 문제는 해결했어요! 감사합니다.

1개의 좋아요

혹시 파일 열었을 때, 비밀번호 입력하라고 창이 나오는데, 이거 스크립트로 미리 입력하는 방법 혹시 있나요?

암호 해제는 문서 보안 상의 이유로 제공하지 않습니다.
(반복적인 API 호출을 통해 비밀번호 탐색)

넵 알겠습니다! 도와주셔서 감사합니다!