특정 서식 스타일 편집하는 방법을 알고싶습니다

서식 스타일중 특정 스타일의 폰트명 및 사이즈, 색을 변경하고 싶습니다.
샘플 코드를 얻을수있을까요?

이 범주에서는 한글 오토메이션에 대한 다른 사용자의 기술 지원을 제공받을 수 있습니다.

  1. 한글 오토메이션의 API 사용/연동은 개발 가이드를 참조하세요.
  2. 일반 문의는 한글과컴퓨터 웹사이트의 고객 지원을 이용하세요.
  3. 개인정보가 포함되지 않도록 유의하세요. 게시글 또는 댓글에 개인정보가 포함된 내용이 있을 경우 게시물이 숨김처리 될 수 있습니다.

안녕하세요.

폰트명은 “휴먼가는샘체”, 글자색은 빨간색, 글자 크기는 13으로 설정하는 간단한 샘플 코드입니다.

<javascript 샘플>

function OnScriptMacro_script1()
{
	HAction.GetDefault("CharShape", HParameterSet.HCharShape.HSet);
	with (HParameterSet.HCharShape)
	{
		FaceNameUser = "휴먼가는샘체";
		FontTypeUser = FontType("TTF");
		FaceNameSymbol = "휴먼가는샘체";
		FontTypeSymbol = FontType("TTF");
		FaceNameOther = "휴먼가는샘체";
		FontTypeOther = FontType("TTF");
		FaceNameJapanese = "휴먼가는샘체";
		FontTypeJapanese = FontType("TTF");
		FaceNameHanja = "휴먼가는샘체";
		FontTypeHanja = FontType("TTF");
		FaceNameLatin = "휴먼가는샘체";
		FontTypeLatin = FontType("TTF");
		FaceNameHangul = "휴먼가는샘체";
		FontTypeHangul = FontType("TTF");
		TextColor = RGBColor(255, 0, 0);
		Height = PointToHwpUnit(13.0);
	}
	HAction.Execute("CharShape", HParameterSet.HCharShape.HSet);
}

코드 작성이 처음부터 어려우시다면 한글의 매크로 정의 기능을 활용하면 좋을 것 같습니다.

  • 보기 > 작업창 > 스크립트 > 매크로 정의…
  • 작성하고자 하는 동작을 실행 후에 매그로 기록 중지(상태바 하단에 있음)
  • 스크립트 에디터에 작성된 코드 확인

감사합니다.

제가 설명이 부족 한것같군요
추가로 설명하자면
1
2
3
첨부된 이미지의 액션을하고 싶습니다

서식 스타일에 들어가서 특정 스타일을 지정후 거기에 글꼴 변경하는 기능을 구현하고싶은데 가능한지요?

안녕하세요.

특정 스타일 내의 글자 모양을 변경하는 기능을 구현이 필요하다면 아래와 같이 작성할 수 있습니다.
참고로 가이드 문서에는 포함되지 않은 액션(StyleDirectEdit)입니다.

(C++)

    CDHwpAction styleEditAct = m_app.CreateAction(_T("StyleDirectEdit"));
	CDHwpParameterSet set = styleEditAct.CreateSet();
	CDHwpParameterSet subset;

	styleEditAct.GetDefault(set);
	set.SetItem(_T("NameLocal"), COleVariant(_T("개요 1")));    // 변경하고자 하는 스타일 이름

	subset = (CDHwpParameterSet)set.CreateItemSet(_T("CharShape"), _T("CharShape"));

    // 변경하고자 하는 글자 모양을 지정
    // 아래는 글자 크기를 20으로 바꾸는 설정
	subset.SetItem(_T("Height"), COleVariant((long)(m_app.PointToHwpUnit(20))));

	styleEditAct.Execute(set);

그리고 “StyleDirectEdit” 액션은 한글 2018 상위 버전에서만 사용할 수 있는데요.
캡쳐한 화면을 보면 현재 사용중인 버전은 2014 버전인 것 같습니다.
그래서 위의 예제는 user218님 테스트 환경에서는 동작하지 않을 것 같습니다. :sob:

감사합니다.

1개의 좋아요