[Set ID] StyleItem : 스타일
Item ID Type Description
Type
NameLocal
NameEng
Next
CharShape
ParaShape
SetID 문서에 위와 같은 StyleItem 이 있습니다.
“이 StyleItem 은 어떨 때 사용하는 것이고 어떻게 사용한다” 라고
하는 예제를 하나 작성해 주실 수 있을 까요?
저에게 필요한 항목이 있는 데, 사용 방법을 도통 찾을 수가 없네요.
1개의 좋아요
안녕하세요.
한글오토메이션으로 스타일을 핸들링하는 동작은 제한되어 있습니다.
확인해봤을 때 신규 스타일 추가 정도이고, 메뉴얼에 나와있지 않은 동작인데요.
코드로 작성하면 아래와 같습니다.
(C++)
CDHwpAction action = m_app.CreateAction(_T("StyleAddNew"));
CDHwpParameterSet set = action.CreateSet();
CDHwpParameterSet csSet;
action.GetDefault(set);
set.SetItem(_T("NameLocal"), COleVariant(_T("MyStyle1")));
set.SetItem(_T("NameEng"), COleVariant(_T("MyStyle1")));
set.SetItem(_T("Next"), COleVariant((long)1));
if (set.ItemExist(_T("CharShape"))) {
csSet = (CDHwpParameterSet)set.Item(_T("CharShape")).pdispVal;
} else {
csSet = set.CreateItemSet(_T("CharShape"), _T("CharShape"));
}
csSet.SetItem(_T("Height"), COleVariant((long)m_app.PointToHwpUnit(20.0)));
csSet.SetItem(_T("FaceNameHangul"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameLatin"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameHanja"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameJapanese"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameOther"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameSymbol"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FaceNameUser"), COleVariant(_T("굴림")));
csSet.SetItem(_T("FontTypeHangul"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeLatin"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeHanja"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeJapanese"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeOther"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeSymbol"), COleVariant((long)1));
csSet.SetItem(_T("FontTypeUser"), COleVariant((long)1));
VARIANT var;
VariantInit(&var);
var.pdispVal = csSet.m_lpDispatch;
var.vt = VT_DISPATCH;
set.SetItem(_T("CharShape"), var);
action.Execute(set);
그리고 필요한 동작을 말씀해주시면 더 도움되는 답변을 드릴 수 있을 것 같습니다. 
감사합니다.
1개의 좋아요
한글 오토메이션에서 StyleItem을 쓸 수 없다는 것은 좀 아쉽네요.
StyleAddNew 기능 소개해 주셔서 감사합니다.
StyleDirectEdit 와 함께 쓰면 강력하고 유연할 것 같습니다.
한가지만 충족되면 좋을 것 같은 데,
현재 스타일의 NameLocal을 조회할 수 있는 방법이 있는가요?
원시적인 루프방식이라도 가능한 방법이 있으면 소개 부탁드립니다.
감사합니다.
1개의 좋아요
문의주신 현재 위치의 스타일 이름을 조회하거나
현재 문서에서 가지고 있는 스타일 목록을 가져오는 API는 제공하지 않고 있습니다.
말씀하신대로 스타일을 핸들링할 수 있는 API는 보강할 수 있도록 요청해보겠습니다.
감사합니다.
1개의 좋아요