수식 안의 내용을 수식 밖의 일반 글로 꺼내는 방법?

안녕하세요 한글작업을 하다가 궁금한 점이 있어서 글 남깁니다.

수식을 활용한 매크로를 만들고 있는데 수식 내부의 내용은 복사할 수 없는 것을 확인하였습니다.

어떻게 하면 수식 내부의 글을 복사해서 밖으로 꺼낼 수 있을까요?

아래아 한글에 대해 무지하여 질문이 이상할 수 있습니다. 글 읽어주셔서 감사합니다.

2개의 좋아요

안녕하세요.

수식 내부의 내용을 복사하고 싶다고 말씀하셨는데 정확히 어떻게 처리를 하고싶으신 걸까요?

아래는 극한의 수식이고
image

해당 수식의 공식은
y= lim _{x rarrow 0} {{1} over {x}}
로 되어 있습니다.

수식 결과의 내용을 일부 복사하고 싶으신거라면 가져올수는 없구요, 공식을 가져오고 싶으신거라면 방법을 알아보도록 하겠습니다.

2개의 좋아요

파이썬 코드로 알려드리지만
오토메이션 API는 유사하므로 참고해주시기 바랍니다.
문서 내 수식문자열 모두를 리스트로 가져오는 코드입니다.

import win32com.client as win32

hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True
hwp.Open("c:/수식이/들어있는/한/글파일.hwp")

ctrl = hwp.HeadCtrl
while ctrl:
    if ctrl.UserDesc == "수식":
        eqn_string = ctrl.Properties.Item("String")
        hwp.SetPosBySet(ctrl.GetAnchorPos(0))
        hwp.HAction.Run("MoveRight")
        hwp.HAction.Run("BreakPara")
        
        pset = hwp.HParameterSet.HInsertText
        hwp.HAction.GetDefault("InsertText", pset.HSet)
        pset.Text = eqn_string
        hwp.HAction.Execute("InsertText", pset.HSet)
        hwp.HAction.Run("BreakPara")
        hwp.HAction.Run("BreakPara")
    ctrl = ctrl.Next

녹화_2024_02_01_10_20_41_694

하여튼 핵심은 "String" 입니다.

도움이 되었길 바랍니다^^
행복한 하루 되세요!

팁 : pyhwpx로 더 간편하게

아래의 (쪼금 간소한) 코드로도
동일하게 eqn_string을 추출하실 수 있습니다.

from pyhwpx import Hwp

hwp = Hwp()
hwp.open("./수식샘플.hwp")

for ctrl in hwp.ctrl_list:
    if ctrl.UserDesc == "수식":
        hwp.move_to_ctrl(ctrl)
        hwp.MoveRight()
        hwp.BreakPara()
        hwp.set_font(TextColor="Red")
        hwp.insert_text(ctrl.Properties.Item("String"))
        hwp.BreakPara()
        hwp.BreakPara()

녹화_2024_02_01_10_29_20_472