kun
1
안녕하세요.
표를 만들때 글자처럼 취급을 해야 하는데요
특정 상황에서 글자처럼 취급이 적용되지 않아서 궁금해서 여쭤봅니다.
특정 상황은
글자처럼 취급되지 않는 표가 있는 경우
그 바로 밑에서 매크로를 실행하면
단독 실행 할때는 잘 되던 글자처럼 취급이
적용되지 않습니다.
코드입니다. ↓
function OnDocument_New() {
makeTbl(1, 10);
}
function makeTbl(row, col) {
HAction.GetDefault(“TableCreate”, HParameterSet.HTableCreation.HSet);
with (HParameterSet.HTableCreation) {
Rows = row;
Cols = col;
TableProperties.TreatAsChar = 1;
HSet.SetItem(“ShapeType”, 6);
}
HAction.Execute(“TableCreate”, HParameterSet.HTableCreation.HSet);
}
2개의 좋아요
ilco
2
오토메이션 코드로 표 생성시에는
TreatAsChar 파라미터가 잘 적용되지 않습니다.
어떤 값을 주든 직전 표의 “글자처럼 취급” 값을 따라갑니다.
(버그가 아니고 스펙인 것 같습니다.)
방금 생성한 표의 “글자처럼 취급” 속성을 변경하고 싶으시면
해당 표의 셀 안에 캐럿이 있거나, 표 전체가 선택된 상태에서
아래 함수를 하나 더 실행하셔야 합니다.
(파이썬 예시입니다.)
ctrl = hwp.CurSelectedCtrl or hwp.ParentCtrl
pset = hwp.CreateSet("Table")
pset.SetItem("TreatAsChar", True) # 글자처럼 취급
ctrl.Properties = pset
시연화면은 아래와 같습니다.
매번 이런 코딩은 번거로우므로 함수로 만들어 두시면 편합니다.
아래처럼요.
도움이 되었길 바랍니다.
새해 복 많이 받으세요!
2개의 좋아요
ilco님 덕분에 잘 해결했습니다. (ParentCtrl 이용)
ilco님도 새해 복 많이 받으세요! (강의도 잘 듣고 있어요 ㅎ)
2개의 좋아요