안녕하세요 한글작업을 하다가 궁금한 점이 있어서 글 남깁니다.
수식을 활용한 매크로를 만들고 있는데 수식 내부의 내용은 복사할 수 없는 것을 확인하였습니다.
어떻게 하면 수식 내부의 글을 복사해서 밖으로 꺼낼 수 있을까요?
아래아 한글에 대해 무지하여 질문이 이상할 수 있습니다. 글 읽어주셔서 감사합니다.
안녕하세요 한글작업을 하다가 궁금한 점이 있어서 글 남깁니다.
수식을 활용한 매크로를 만들고 있는데 수식 내부의 내용은 복사할 수 없는 것을 확인하였습니다.
어떻게 하면 수식 내부의 글을 복사해서 밖으로 꺼낼 수 있을까요?
아래아 한글에 대해 무지하여 질문이 이상할 수 있습니다. 글 읽어주셔서 감사합니다.
안녕하세요.
수식 내부의 내용을 복사하고 싶다고 말씀하셨는데 정확히 어떻게 처리를 하고싶으신 걸까요?
아래는 극한의 수식이고
해당 수식의 공식은
y= lim _{x rarrow 0} {{1} over {x}}
로 되어 있습니다.
수식 결과의 내용을 일부 복사하고 싶으신거라면 가져올수는 없구요, 공식을 가져오고 싶으신거라면 방법을 알아보도록 하겠습니다.
파이썬 코드로 알려드리지만
오토메이션 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
하여튼 핵심은 "String"
입니다.
도움이 되었길 바랍니다^^
행복한 하루 되세요!
아래의 (쪼금 간소한) 코드로도
동일하게 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()