한 파일에서 다른 파일로 표 붙여넣기 시 option 설정

파이썬으로 한 파일에서 다른 파일로 표 내용을 붙여넣기하는 코드를 짰는데

hwp.HAction.Run(“Paste”)
를 사용해서 붙여넣기를 했더니 프로그램 실행 와중에 덮어쓰기/내용만 덮어쓰기/셀 안에 표로 넣기 를 선택하는 창이 떠서 일일이 선택해줘야만 하는 번거로움이 있네요… (제가 하고 싶은 것은 ‘내용만 덮어쓰기’)

그래서 아래 3줄의 코드로 교체를 했는데
hwp.HAction.GetDefault(“Paste”, hwp.HParameterSet.HSelectionOpt.HSet)
hwp.HParameterSet.HSelectionOpt.Option = 5
hwp.HAction.Execute(“Paste”, hwp.HParameterSet.HSelectionOpt.HSet)

아래와 같이 오류가 뜹니다(일부 생략)

KeyError: ‘Option’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

hwp.HParameterSet.HSelectionOpt.Option = 5
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError(
AttributeError: ‘<win32com.gen_py.HwpObject 1.0 Type Library.HSelectionOpt instance at 0x3134827365248>’ object has no attribute ‘Option’

한글 홈페이지에서 제공하는 ParameterSetObject.pdf 파일에 보면, 'Option’이 없는 속성은 아닌 것 같은데 말이죠… 제가 무엇을 잘못하고 있는 걸까요?

코드를 저렇게 3줄로 바꾼 이유는… 동일 작업을 한글 매크로로 돌렸을 때 나오는 스크립트가 아래와 같았기 때문입니다 (붙여넣기 → 옵션 창이 뜨면 ‘내용만 덮어쓰기’ 선택)
HAction.GetDefault(“Paste”, HParameterSet.HSelectionOpt.HSet);
with (HParameterSet.HSelectionOpt)
{
Option = 5;
}
HAction.Execute(“Paste”, HParameterSet.HSelectionOpt.HSet);
}

2개의 좋아요

안녕하세요.

아래와 같이 작성해서 확인 부탁드립니다.

(C++)

CDHwpAction act = hwp.CreateAction(_T("Paste"));
CDHwpParameterSet set = act.CreateSet();

act.GetDefault(set);
set.SetItem(_T("Option"), COleVariant((long)5));

act.Exeucte(set);
  • HSelectionOpt 사용법은 확인해서 답변 남기도록 하겠습니다.

감사합니다.

1개의 좋아요

“Option” 을 “option” 으로 (즉, 대문자를 소문자로) 수정하니 해결되었습니다.
별거 아닌 오류였네요…ㅎㅎ;

2개의 좋아요