선택개체내에서 순환?

안녕하세요~ 항상 감사합니다 :slight_smile:
개체를 Shift키로 다중 선택 후 순환문을 돌리려고 하는데요… 가능할까요?
방식이 궁금합니다. 아래처럼 시도는 해보았는데. 안되네요?

//선택한 개체내에서 순환.
v=0
ctl=CurSelectedCtrl;

do
{
v=v+1
ctl=ctl.Next;
}while (ctl)

2개의 좋아요

안녕하세요.

말씀하신 방법은 문서 내의 개체를 선택된 개체를 기준으로 접근하는 동작이 됩니다.
아쉽게도 한글 API에서는 선택된 개체들만 enumulation해서 접근하는 API는 현재 제공하지 않습니다. :disappointed_relieved:
만일 관련 API를 제공한다면 문서를 핸들링하기에 유용할 것 같습니다.
당장은 어렵겠지만 내부에서 검토 진행 하겠습니다. :disappointed_relieved:

감사합니다.

3개의 좋아요

어떤 작업을 하시려는지 구체적으로 알려주시면 도움 드릴 수 있을 것 같습니다.
일괄변경으로 가능한 작업도 많고,
순환이 아예 불가능한 것도 아닐 것 같고요…

2개의 좋아요

선택된 그림의 크기만을 변경해보고 싶었어요 :slightly_smiling_face:

2개의 좋아요

시연영상을 먼저 보여드립니다.
녹화_2024_03_13_02_53_40_805

  1. 여러 컨트롤을 선택한 상태에서
    hwp.UnSelectCtrl()을 실행하시면
    선택했던 역순으로 컨트롤을 선택해제하고요.

  2. 마지막 선택되어 있는(녹색으로 표시된) 컨트롤만 CurSelectedCtrl로 인식하게 됩니다.
    그래서 for문이나 while문 등으로 순환을 돌리실 수 있습니다.

  3. 아무 것도 선택하지 않은 상태에서는 hwp.SelectionMode가 0을 리턴하므로
    while문의 조건으로 활용하실 수 있습니다.
    녹화_2024_03_13_02_58_54_195

아래는 코드 전문입니다.
참고하시기 바랍니다.

while hwp.SelectionMode:
    prop = hwp.CurSelectedCtrl.Properties
    prop.SetItem("Width", 20000)
    prop.SetItem("Height", 20000)
    hwp.CurSelectedCtrl.Properties = prop
    hwp.UnSelectCtrl()

도움이 되었기를 바랍니다.

4개의 좋아요

멀티 셀렉션된 개체들를 이렇게 하면 순회할 수 있겠네요. :+1:
한 수 배워갑니다. :+1:

3개의 좋아요

정말 감사드립니다:) 설명이 이해가 잘가네요~작동도 잘 되구요~ 어떻게 이런방법을 생각해 낼 수 있을까요? 감사합니다. :grinning:

2개의 좋아요