C# 글자처럼 취급하기

안녕하세요

아래와 같이 표를 생성하는 코드를 작성하였는데 표가 사진과 같이 밀려 그글자처럼 취급을 하고 싶은데
위 글을 확인하였는데 잘 작동하지 않아 문의드립니다.
제가 작성한 표그리는 코드는 맨 아래에 있습니다!

            HWPCONTROLLib.DHwpAction TableAction = (HWPCONTROLLib.DHwpAction)axHwpCtrl1.CreateAction("TableCreate");
            HWPCONTROLLib.DHwpParameterSet Tablep = (HWPCONTROLLib.DHwpParameterSet)TableAction.CreateSet();
            HWPCONTROLLib.DHwpParameterArray CArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("ColWidth", col);
            HWPCONTROLLib.DHwpParameterArray RArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("RowHeight", row);

            TableAction.GetDefault(Tablep);
            Tablep.SetItem("Rows",11);
            Tablep.SetItem("Cols", 5);
            Tablep.SetItem("WidthType", 2);
            Tablep.SetItem("HeightType", 1);
            Tablep.SetItem("WidthValue", 10000);
            Tablep.SetItem("HeightValue", 10000);
            axHwpCtrl1.RegisterModule("FilePathCheckDLL", "SecurityModule");
            // 표 셀 크기 조절
            CArray.SetItem(0, 2900);
            for (int i = 1; i <= 4; i++)
            {
                CArray.SetItem(i, 9800);
            }

            RArray.SetItem(0, 3000);
            for (int i = 0; i <= 10; i++)
            {
                RArray.SetItem(i, 1800);
            }

            TableAction.Execute(Tablep);

안녕하세요.

첨부해주신 코드에는

링크 댓글에 있는 CtrlCode를 가져와서 Property에 “TreatAsChar” 속성을 추가하는 코드가 빠져있는데요.

해당코드를 추가해보시고 다시한번 확인 부탁드려요~

1개의 좋아요

안녕하세요
답변 감사합니다

해당 답변을 확인한뒤

 HWPCONTROLLib.DHwpCtrlCode ctrlCode = (HWPCONTROLLib.DHwpCtrlCode)axHwpCtrl1.LastCtrl;
HWPCONTROLLib.DHwpParameterSet propertySet;
propertySet.SetItem("TreatAsChar", 1);

해당 코드도 넣어보고
2. Tablep.SetItem(“TreatAsChar”, 1);
아래 코드도 넣어보고
3.

HWPCONTROLLib.DHwpCtrlCode ctrlCode = (HWPCONTROLLib.DHwpCtrlCode)axHwpCtrl1.LastCtrl;
HWPCONTROLLib.DHwpParameterSet propertySet;
string ctrlID= ctrlCode.ctrlid;
if (ctrlID == “tbl”) {
propertySet = (HWPCONTROLLib.DHwpParameterSet)ctrlCode.Properties;
propertySet.SetItem(“TreatAsChar”, 1);
ctrlCode.Properties = Tablep;
}

`HWPCONTROLLib.DHwpParameterSet tableProperties = (HWPCONTROLLib.DHwpParameterSet)Tablep.CreateItemSet(“TableProperties”, “TableProperties”);

tableProperties.SetItem(“TreatAsChar”, 1);`
위 네가지 방법의 코드도 넣어봤지만 글자처럼 취급이 잘 되지 않는데 어떤 것이 문제일까요,?

1개의 좋아요

안녕하세요.

해당코드들이 동작하지 않으신다면 작성자님의 기존 첨부코드에서

TableAction.GetDefault(Tablep);

이후
HWPCONTROLLib.DHwpParameterSet tableProp= (HWPCONTROLLib.DHwpParameterSet)Tablep.Item(“TableProperties”);
tableProp.SetItem(“TreatAsChar”, 1);

으로 한번 해보시면 될 것 같습니다.

또 궁금한 점 있으시면 언제든지 문의주세요.

1개의 좋아요

해당 부분은 비슷한 코드들로 여러번 하고 있는데 아무리 해도 명령어가 작동이 잘 안되네요,

1개의 좋아요

사용하고 계시는 한글 버전이 어떻게 될까요?

1개의 좋아요

사용하고 있는 한글 버전은 한글 2020입니다

1개의 좋아요
        HWPCONTROLLib.DHwpAction TableAction = (HWPCONTROLLib.DHwpAction)axHwpCtrl1.CreateAction("TableCreate");
        HWPCONTROLLib.DHwpParameterSet Tablep = (HWPCONTROLLib.DHwpParameterSet)TableAction.CreateSet();
        HWPCONTROLLib.DHwpParameterArray CArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("ColWidth", 4);
        HWPCONTROLLib.DHwpParameterArray RArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("RowHeight", 4);

        TableAction.GetDefault(Tablep);

        HWPCONTROLLib.DHwpParameterSet tableProperties = (HWPCONTROLLib.DHwpParameterSet)Tablep.Item("TableProperties");
        tableProperties.SetItem("TreatAsChar", 1);

        Tablep.SetItem("Rows", 3);
        Tablep.SetItem("Cols", 3);
        Tablep.SetItem("WidthType", 2);
        Tablep.SetItem("HeightType", 1);
        Tablep.SetItem("WidthValue", 10000);
        Tablep.SetItem("HeightValue", 10000);
        axHwpCtrl1.RegisterModule("FilePathCheckDLL", "SecurityModule");
        // 표 셀 크기 조절
        CArray.SetItem(0, 2900);
        for (int i = 1; i <= 4; i++) {
            CArray.SetItem(i, 9800);
        }

        RArray.SetItem(0, 3000);
        for (int i = 0; i <= 10; i++) {
            RArray.SetItem(i, 1800);
        }

        TableAction.Execute(Tablep);

전체코드 첨부했습니다.

어느부분에서 동작하지 않는지 확인이 가능할까요?

1개의 좋아요

보내주신 코드를 그대로 실행시켜도 글자처럼 취급이 안됩니다,

HWPCONTROLLib.DHwpParameterSet tableProperties = (HWPCONTROLLib.DHwpParameterSet)Tablep.Item("TableProperties");
        tableProperties.SetItem("TreatAsChar", 1);

이부분이 동작하지 않는 것 같습니다

1개의 좋아요

이상하네요… 동작이 되는 코드를 첨부해드렸는데…

그럼 조금 다른 방법으로 변경하는 코드를 첨부해드릴게요

        HWPCONTROLLib.DHwpAction TableAction = (HWPCONTROLLib.DHwpAction)axHwpCtrl1.CreateAction("TableCreate");
        HWPCONTROLLib.DHwpParameterSet Tablep = (HWPCONTROLLib.DHwpParameterSet)TableAction.CreateSet();
        HWPCONTROLLib.DHwpParameterArray CArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("ColWidth", 4);
        HWPCONTROLLib.DHwpParameterArray RArray = (HWPCONTROLLib.DHwpParameterArray)Tablep.CreateItemArray("RowHeight", 4);

        TableAction.GetDefault(Tablep);

        //HWPCONTROLLib.DHwpParameterSet tablaprop = (HWPCONTROLLib.DHwpParameterSet)Tablep.Item("TableProperties");
       // tablaprop.SetItem("TreatAsChar", 1);

        Tablep.SetItem("Rows", 3);
        Tablep.SetItem("Cols", 3);
        Tablep.SetItem("WidthType", 2);
        Tablep.SetItem("HeightType", 1);
        Tablep.SetItem("WidthValue", 10000);
        Tablep.SetItem("HeightValue", 10000);
        axHwpCtrl1.RegisterModule("FilePathCheckDLL", "SecurityModule");
        // 표 셀 크기 조절
        CArray.SetItem(0, 2900);
        for (int i = 1; i <= 4; i++) {
            CArray.SetItem(i, 9800);
        }

        RArray.SetItem(0, 3000);
        for (int i = 0; i <= 10; i++) {
            RArray.SetItem(i, 1800);
        }

        TableAction.Execute(Tablep);

        axHwpCtrl1.Run("SelectCtrlReverse");
        HWPCONTROLLib.DHwpAction tablePropertyDialog = (HWPCONTROLLib.DHwpAction)axHwpCtrl1.CreateAction("TablePropertyDialog");
        HWPCONTROLLib.DHwpParameterSet propSet = (HWPCONTROLLib.DHwpParameterSet)tablePropertyDialog.CreateSet();
        tablePropertyDialog.GetDefault(propSet);

        propSet.SetItem("TreatAsChar", 0);
        tablePropertyDialog.Execute(propSet);
2개의 좋아요

propSet.SetItem(“TreatAsChar”, 0);
이 부분을
propSet.SetItem(“TreatAsChar”, 1);로 수정하니 정상 동작 하는 것을 확인했습니다, 너무 감사합니다

2개의 좋아요

해결이 되셨다니 정말 다행이네요ㅠ

또 궁금한 점 있으시면 언제든지 문의주세요

2개의 좋아요