none
Excel shape.Group Size 변경 RRS feed

  • 질문

  •  Excel 에서 이미지들을 Group 을 해서  1개의 큰 그룹으로 만들어놓았는데요!

                        //shapeRange.Height = 20;
                       // shapeRange.Width = 100;
     

    이런방식으로 그룸의 크기 범위를 지정하는 것이 아닌, 

     현재 그룹 크기에서 2배 증가하라

     이런 명령을 주고 싶습니다.. .어떤 방식으로 접근을 해야할까요..?

    궁금합니다 !!

    2014년 9월 18일 목요일 오전 8:09

답변

  •   shapeRange.ScaleHeight(2,Microsoft.Office.Core.MsoTriState.msoTriStateMixed,Type.Missing);

    .ScaleHeight , .ScaleWidth 로   비율을 확장/축소 할 수 있는 것 같습니다.

    단 이경우는 그룹내 값이 이미지나 oledb 인 경우에만 가능 한 것으로 보이구요..

    저같은 경우는 단순하게 2배. 1,5배 늘리고자 했어서

                        shapeRange.Width = shapeRange.Width * 2;
                        shapeRange.Height = shapeRange.Height * 1.5f;

    다음과 같이 적용해 버렸습니다..

    Microsoft.Office.Interop.Excel 에 있는 것으로 사용하였습니다.

    • 답변으로 표시됨 vo_ovv 2014년 9월 25일 목요일 오전 1:26
    2014년 9월 22일 월요일 오전 4:38

모든 응답

  • 다른 분의 좋은 의견이 있을지도 모르겠지만 제 생각은 조건이 없다면 매우 복잡할 것 같습니다.

    간단하게 정사각형의 이미지 4개를 반듯하게 위치시킨다면 그렇지 않고 여러개의 이미지가 여러모양으로 위치했을때 이미지 중복 등으로 사이즈 측정이 쉽지 않을 것 같습니다.

    이 부분은 어떻게 구현하는게 좋을지 로직을 다시 생각하고 전제 조건을 좀 만들어서 어떤 API로 가능한지 여부를 파악해봐야할 것 같습니다.

    일단 먼저 전제 조건과 그룹 크기가 면적을 기준으로 하는지 등 필요할 것 같습니다.

    2014년 9월 19일 금요일 오전 8:43
    중재자
  • 현재는 이미지들은 각자의 좌표를 기준으로 그림이 그려지기 때문에

    여러 이미지가 여러모양으로 위치하는 경우는 존재하지 않도록 해놓았습니다.

    따라서 각자의 좌표별로 이미지들이 놓여지는데

     그룹화하기 때문에  그룹 후에 그룹 크기의 비율을 늘린다면,  이미지 좌표들에 대해서 세세히 변경이 들어가지 않아도

    될 것 이라고 생각했는데요 ㅠㅠ

    일단은 더 고민을 해봐야겠네요 ㅠㅠㅠㅠ

    감사합니다;

    2014년 9월 22일 월요일 오전 2:51
  •   shapeRange.ScaleHeight(2,Microsoft.Office.Core.MsoTriState.msoTriStateMixed,Type.Missing);

    .ScaleHeight , .ScaleWidth 로   비율을 확장/축소 할 수 있는 것 같습니다.

    단 이경우는 그룹내 값이 이미지나 oledb 인 경우에만 가능 한 것으로 보이구요..

    저같은 경우는 단순하게 2배. 1,5배 늘리고자 했어서

                        shapeRange.Width = shapeRange.Width * 2;
                        shapeRange.Height = shapeRange.Height * 1.5f;

    다음과 같이 적용해 버렸습니다..

    Microsoft.Office.Interop.Excel 에 있는 것으로 사용하였습니다.

    • 답변으로 표시됨 vo_ovv 2014년 9월 25일 목요일 오전 1:26
    2014년 9월 22일 월요일 오전 4:38