저는 종종 VBA 및 VB6에서 초기 바인딩 코드를 작성하여 Office 응용 프로그램 (Word, Excel 등)을 자동화 한 다음 후기 바인딩으로 전환하여 해당 응용 프로그램의 여러 버전을 처리했습니다 . 나는 똑같은 일을하려하지만 ESRI ArcMap GIS 애플리케이션을 자동화하고 있으며 과거에 사용한 개념은 번역하지 않는 것 같습니다.초기 바인딩 코드를 후기 바인딩으로 변환
다음 코드는 제대로 실행 :
Sub EarlyBinding()
Dim ArcMap As esriArcMapUI.MxDocument
Set ArcMap = GetObject("C:\Users\Mike\Downloads\Assessment Mapping.mxd", _
"esriArcMapUI.MxDocument")
Debug.Print ArcMap.Title
End Sub
하지만이 코드는 Debug.Print
행에서이 속성 또는 메서드 지원하지 않습니다 객체와 함께 실패
Sub LateBinding()
Dim ArcMap As Object
Set ArcMap = GetObject("C:\Users\Mike\Downloads\Assessment Mapping.mxd", _
"esriArcMapUI.MxDocument")
Debug.Print ArcMap.Title
End Sub
을 MS Office 앱에 대해 특별한 점이 y 일반적으로 COM 서버보다이 방법을 더 잘 지원합니까? 아니면 의 ESRI 앱에 대한 특별한 점이 없습니까?이 접근 방식을 지원합니까?
VB6 제외 태그가 붙습니다. 여기에 VB6 질문이 없습니다. – Bob77
VBA와 겹치기 때문에이 VB6에 태그를 지정했습니다. 여기에서 논의 된 개념은 VBA와 VB6 모두에 동일하게 적용된다고 가정했습니다. 제 생각이 틀리면 저를 시정하십시오. – mwolfe02
맞습니다. VBA와 VB6는 사실상 똑같습니다. VBA만이 원시 코드로 컴파일하는 컴파일러가 없습니다. 단지 psuedocode 엔진입니다. – DarinH