HwpAutomation을 이용하여 템플릿 HWP파일의 스타일을 다른 HWP문서로 가져오는 자동화 기능을 구현중입니다. 템플릿을 가져올 Hwp문서와 수정할 Hwp문서가 폴더 내에 존재합니다.
dynamic dhwp = hwp;
dynamic styleTemplate = dhwp.HParameter Set.HStyleTemplate;
dhwp.HAction.GetDefault(“ImportStyle”, styleTemplate);
styleTemplate.FileName = fullTemplatePath;
bool ok = dhwp.HAction.Execute(“ImportStyle”, styleTemplate);
이런 식으로 C#으로 작업을 하고 있는데 ImportStyle호출하는 부분에서 에러가 발생하고 있습니다
HwpAutomation을 이용하여 스타일 가져오기를 구현하는 예제 코드나 위 코드 상에서 문제가 되는 부분을 설명해 주시면 감사하겠습니다.
답변 부탁드립니다.
안녕하세요
ImportStyle이라는 액션명이 없어서 동작을 안한 것 같습니다.
아래 코드로 참고해서 해보시면 좋을 것 같습니다.
감사합니다.
dynamic dhwp = hwp;
dynamic styleTemplate = dhwp.HParameterSet.HStyleTemplate;
dhwp.HAction.GetDefault("StyleTemplate", styleTemplate.HSet);
styleTemplate.FileName = fullTemplatePath;
bool ok = dhwp.ImportStyle(styleTemplate.HSet);
답변 감사합니다. 말씀해주신 그대로 적용해보았는데
bool ok = dhwp.ImportStyle(styleTemplate.HSet);
이 함수 라인에서 위와 같은 에러가 발생하였습니다.
한글프로그램에서 UI로 하면 잘 되는 스타일 가져오기가 자동화모듈에서는
참 구현하기 힘드네요..
제가 착각했네요.
bool ok = dhwp.ImportStyle(styleTemplate.HSet);
을
bool ok = dhwp.HAction.Execute("StyleTemplate", styleTemplate.HSet);
로 변경하시면 동작할 것 같습니다.
수정해주신 코드 라인에서는 위와 같은 메세지 뜨면서 스타일 가져오기가 실패하였습니다.
템플릿 파일에는 15개 정도의 스타일이 정의되어 있고 대상 hwp 파일에는 템플릿이 1개만
있기 때문에 이 경우는 해당사항이 없는데 왜 저런 메세지가 뜨는지 모르겠습니다.
hwp 형식을 오래 사용하지는 못할 것 같습니다. 답변주셔서 감사합니다.
특정 스타일을 지정해서 가져와야 할 것 같습니다.
도구 ->스크립트 매크로 → 매크로 정의로 매크로 기록으로 하고 원하시는 동작을 하면 스크립트로 기록됩니다.
스크립트 작업창에서 만들어진 스크립트를 보면서 응용하시면 좋을 것 같습니다.
감사합니다.