GetCtrlVerticalOffset의 대안을 찾고 있습니다.

Do While Not ctrlX Is Nothing
'eqed는 인라인이므로 점검 불필요하다.
If ctrlX.ctrlid = “gso” Or ctrlX.ctrlid = “tbl” Then
Set pstHwp = ctrlX.GetAnchorPos(0)

    If CInt(pstHwp.item("List")) = 0 Then
        Set pstHwp = ctrlX.Properties
        
        '글자처럼은 1이 참인 상태이고 0가 거짓이다.
        lngAsChar = CLng(pstHwp.item("TreatAsChar"))
        '인라인은 모두 DocEnd의 위치에 반영이 되므로 불필요함.
        If Not lngAsChar = 1 Then
                            
            lngX = CLng(hwpView.GetCtrlVerticalOffset(ctrlX, CLng(0)))
            lngX = lngX + CLng(pstHwp.item("Height"))
            
            If lngX > lngMax Then
                lngMax = lngX
            End If
        End If
    End If
End If

Set ctrlX = ctrlX.Next
Loop

hwpCtrl.ocx 에서 GetCtrlVerticalOffset을 잘 사용하였는데
hwpCtrl.ocx 의 지원이 중단된다고 해서
HwpObjectLib.HwpObject 개체를 사용하는 automation으로 다시 수정하고 있습니다.
그런데 HwpObjectLib.HwpObject는 GetCtrlVerticalOffset를
지원하지 않는 다는 에러가 나오네요.
다른 대안이 없을 까요?

사용하지 않았던 속성이라 궁금해서 질문 드립니다.

GetCtrlVerticalOffset이 리턴하는 값이
아래 사진에서 표시한 부분의 값인가요?

예 맞습니다.
GetCtrlVerticalOffset을 쓰면 개체 대화상자에 설정된 VertRelTo 값이나
VertOffset에 상관없이 독립적으로 개체의 수직위치를 독립적으로 조회할 수 있습니다.
HwpObject로는 ShapeObject를 통해 접근할 수는 있지만
VertRelTo가 문단 기준으로 개체가 설정되어 있는 경우
종이기준이나 쪽 기준의 수직위치를 구할 수 있는 방법이 없는 것 같아요.
개체의 수직위치가 종이기준으로 100, 문단기준으로 0이고
개체 대화 상자에 문단 기준으로 0의 값이 표시되어 있는 경우
GetCtrlVerticalOffset는 바로 종이 기준의 값 100을 구할 수 있는 데 반해
ShapeObject는 안되는 것 같아요.
개체 대화 상자에 문단 기준으로 0의 값이 표시되어 있는 경우
종이 기준의 값을 구해보려고
VertRelTo를 종이 기준으로 바꾸는 순간 실제 위치인 종이 기준 100이 반환되는 것이 아니라 0의 값이 유지되어 종이 기준 0이 되어 버리는 것 같습니다.

안녕하세요

오토메이션에서는 GetCtrlVerticalOffset 사용이 힘들 것 같습니다.
내부 로직에 따라 종이 크기 및 개체의 위치를 찾기 때문에 외부 API로는 사용이 힘들 것 같습니다.
도움이 되지 못하여 죄송합니다ㅠㅠ

감사합니다.