안녕하세요.
오토메이션 코딩 중 아래와 같은 문제가 있어서 확인 부탁 드립니다.
-
파라미터셋 HInsertFile의 KeepSection 속성이
한글 2024 버전에서는 적용되지 않습니다.
속성 값 0, 1에 상관없이 0으로 적용되는 것 같습니다.
반면 한글 2022 버전에서는 제대로 값에 따라 작동 됩니다.
-
파라미터셋 HPrint의 RangeIncludeLinkedDoc 속성이
한글 2022 버전에는 누락된 것 같습니다.
한글 2024 버전에는 속성이 포함되어있고, 제대로 작동 됩니다.
-
HPrint와 관련하여 덧붙이자면, 동일한 코드임에도 불구하고
한글 2024가 설치된 시스템에서 컴파일해서 실행하면 제대로 작동하는 데,
실행 파일을 한글 2022가 설치된 시스템으로 가져가서 실행하면
실행 중 작동이 멈추고 종료됩니다.
반대로 한글 2022가 설치된 시스템에서 컴파일해서 실행하면 작동하는 데,
실행 파일을 한글 2024가 설치된 시스템으로 가져가서 실행하면
실행 중 작동이 멈추고 종료됩니다.
컴파일 환경은 vb.net 이며,
내장 매크로에서도 실행하여 확인 확인하였습니다.
수고하세요.
1개의 좋아요
답변 감사합니다.
2.관련하여
한글 2024 매크로 기록 (연결된 문서 포함 체크 해제한 경우)
(한글 2024 + vb .net)에서 코딩할 때 RangeIncludeLinkedDoc 속성이 포함되어 있는 사진
- 각각 (한글 2022 / 한글 2024)에서 컴파일 된 실행파일은 실행되나
크로스로 실행하면 작동이 되지 않습니다. 중간에 실행파일이 종료 됩니다.
1개의 좋아요
2번 사항은
말씀해주신 대로 사용해 보겠습니다.
1개의 좋아요
안녕하세요.
위의 질문 중 3번 다시 질문 드립니다.
시스템1:
windows11 / visual studio 2022 (vb. net) / 한글2024 => 컴파일 실행파일1
시스템2:
windows11 / visual studio 2022 (vb. net) / 한글2022 => 컴파일 실행파일2
실행파일1은 시스템1에서 잘 작동합니다.
그런데 시스템 2로 가져가서 실행(문서 오픈)하면 그냥 종료됨
실행파일2 역시 시스템2에서 문제 없습니다.
그런데 시스템1로 가져가서 실행(문서 오픈) 하면 프로그램 종료됨
시스템3:
windows10 / 한글2024 => 실행파일1 문제없음
시스템4:
windows10 / 한글2022 => 실행파일1 실행(문서 오픈) 하면 프로그램 종료됨
코드는 동일하며 단순 문서 오픈만 하는 겁니다.
예전엔 그렇지 않았던 것 같은데…
제가 잘못하고 있는 게 뭔지 알려주시면 감사하겠습니다.
코드 내용
Imports HwpObjectLib
Public Class frmMain
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
Dim myHwp As New HwpObject
myHwp.RegisterModule("FilePathCheckDLL", "SecurityHwpAutomation")
myHwp.XHwpWindows.Item(0).Visible = True
myHwp.Open ("C:\test.hwpx", Nothing, Nothing)
End Sub
End Class
=================================================
참고로…
질문 내용의 프로젝트 방식은 .net core방식으로 에러 메시지 없이 종료되지만
.net framework 방식으로 바꿔서 컴파일한 실행파일을 실행하면
아래와 같은 메시지가 뜹니다.
(시스템1에서 컴파일한 실행파일을 시스템2에서 실행한 결과)
에러 메시지 자세한 내용은 아래와 같습니다.
이 대화 상자 대신 JIT(Just-in-time) 디버깅을 호출하는
방법에 대한 자세한 내용은 이 메시지의 뒷부분을 참조하십시오.
************** 예외 텍스트 **************
System.Runtime.InteropServices.COMException (0x800706F4): 널 참조 포인터를 스텁에 전달했습니다. (예외가 발생한 HRESULT: 0x800706F4)
위치: HwpObjectLib.IHwpObject.RegisterModule(String ModuleType, Object ModuleData)
위치: err_Test_fw.Form1.Button1_Click(Object sender, EventArgs e) 파일 D:\Visual Studio 2022\err Test fw\err Test fw\Form1.vb:줄 6
위치: System.Windows.Forms.Control.OnClick(EventArgs e)
위치: System.Windows.Forms.Button.OnClick(EventArgs e)
위치: System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
위치: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
위치: System.Windows.Forms.Control.WndProc(Message& m)
위치: System.Windows.Forms.ButtonBase.WndProc(Message& m)
위치: System.Windows.Forms.Button.WndProc(Message& m)
위치: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
위치: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
위치: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 로드된 어셈블리 **************
mscorlib
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9290.0 built by: NET481REL1LAST_C
코드베이스: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
err Test fw
어셈블리 버전: 1.0.0.0
Win32 버전: 1.0.0.0
코드베이스: file:///C:/Users/kosohn/Desktop/Release/err%20Test%20fw.exe
----------------------------------------
Microsoft.VisualBasic
어셈블리 버전: 10.0.0.0
Win32 버전: 14.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Windows.Forms
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9256.0 built by: NET481REL1LAST_B
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9282.0 built by: NET481REL1LAST_C
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9277.0 built by: NET481REL1LAST_B
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Runtime.Remoting
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9214.0 built by: NET481REL1LAST_B
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
mscorlib.resources
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ko_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
어셈블리 버전: 4.0.0.0
Win32 버전: 4.8.9032.0 built by: NET481REL1
코드베이스: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ko_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** JIT 디버깅 **************
JIT(Just In Time) 디버깅을 사용하려면 이 응용 프로그램 또는 컴퓨터의
config 파일(machine.config)의 jitDebugging 값을
system.windows.forms 섹션에 설정해야 합니다.
또한 응용 프로그램은 디버깅할 수 있도록 컴파일되어야
합니다.
예:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
JIT 디버깅을 사용하면 처리되지 않은 모든 예외는
이 대화 상자에서 처리되지 않고 컴퓨터에 등록된 JIT
디버거에 보내집니다.
1개의 좋아요