programing

32비트 전용 Microsoft Common Controls(ListView)를 대체할 방법을 찾고 있습니다.

javajsp 2023. 5. 4. 18:39

32비트 전용 Microsoft Common Controls(ListView)를 대체할 방법을 찾고 있습니다.

ListView 컨트롤을 사용하는 VBA/Excel에서 개발된 레거시 애플리케이션이 있습니다.안타깝게도 64비트 버전의 Excel에서는 이러한 컨트롤을 사용할 없습니다.

Office 2010의 기본 64비트 프로세스는 32비트 이진 파일을 로드할 수 없습니다.여기에는 MSComCtl [ListViews]와 같은 일반적인 컨트롤이 포함됩니다.코드를 64비트 Office 2010으로 마이그레이션할 때 이러한 컨트롤을 사용하는 기존 Microsoft Office VBA 솔루션에 대한 대안을 찾아야 합니다.

기존 애플리케이션을 Excel 2010/13 x64로 마이그레이션해야 합니다.그 과정은 그것들을 제외하고는 대부분 고통이 없습니다.ListView제어 장치

대체할 수 있는 주요 옵션은 무엇입니까?ListView(시간과 실행 관점에서) 제어와 가장 효과적인 방법은 무엇입니까?

주의:

  • 문제는 MS 포럼에서 제기되었지만 실질적인 답변은 제공되지 않았습니다.
  • 추가.net거기서 어떤 해결책이 나올 수 있다고 생각하기 때문에 태그를 붙입니다.

여기에 Excel 사용자 양식의 스냅샷이 있습니다.맨 아래 부분은 목록 보기(숨긴 기밀 정보 있음)로, 정렬 가능한 열이 있어 사용자는 연속되지 않은 여러 줄을 선택할 수 있습니다.

여기에 이미지 설명 입력

이론적으로 가능한 한 가지 방법은 디스플레이 코드를 로 작성하는 것입니다.Net 어셈블리를 실행하고 VBA 코드에서 COM을 통해 액세스합니다(예: 사용 방법 참조).이를 위한 시작점으로 Excel VBA 내에서 NET 객체를 사용합니다.

그래야 글을 쓸 수 있습니다.컨트롤의 순 코드입니다.저도 그렇게 해본 적이 없고 당신의 문제에 얼마나 잘 적용되는지는 잘 모르겠지만, 선택 사항인 것 같습니다.

는 방금 전화하기 위한 짧은 튜토리얼을 찾았습니다.Excel에서 네트.

저는 여기서 어떤 해결책도 모릅니다.그러나 JKP는 64비트 이하에서 잘 작동하는 TreeView를 대체하기 위해 Userforms와 함께 VBA에서 네이티브 TreeView를 개발했습니다.

노동 집약적이지만 ListView 컨트롤에 적용하는 것을 고려할 수 있습니다.

여전히 관심 있는 사람이 있다면 (4년 전) 저는 어떻게든 뭔가를 만들었습니다.수년간 COM 인터페이스를 만드는 프로세스가 바뀌었고 몇 가지 다른 방법/참조가 있었기 때문에 매우 고통스러운 프로세스였던 것으로 기억합니다.또한 COM의 작동 방식 때문에 이중 인터페이스를 사용해야 합니다.모든 속성/이벤트를 노출하지는 않았지만, 필요한 주요 속성/이벤트를 노출했습니다.코드는 VS2010과 함께 C#으로 작성되었습니다. 코드가 아직 컴파일되어 있는지 테스트하지 않았습니다. 어느 쪽이든 사용할 수 있어야 합니다.라이브러리를 등록하는 경우 Bin 폴더의 DLL입니다(Reg.bat 참조)."64비트 COM 인터페이스 v1.2 for."로 표시됩니다.[도구]->[참조] 아래에 "Net Common Controls"를 표시합니다.

컨트롤을 삭제하고 다시 등록해야 정상적으로 작동합니다.RegSvr32를 사용하여 컨트롤을 다시 등록합니다.

자세한 내용은 다음 링크를 참조하십시오. http://answers.microsoft.com/en-us/office/forum/office_2010-access/listview-issue-in-access-2010/d0b6f86a-1d9c-4d7f-8566-b80a10bb67c6

언급URL : https://stackoverflow.com/questions/16792410/looking-for-alternatives-to-32-bit-only-microsoft-common-controls-listview