programing

Excel vba 내에서 VLC 플레이어 activex를 등록 없는 COM으로 사용

kingscode 2023. 6. 10. 15:37
반응형

Excel vba 내에서 VLC 플레이어 activex를 등록 없는 COM으로 사용

문제 정의

USB 현미경으로 부품과 시리얼 번호를 읽을 수 있습니다.Excel-VBA의 스크린샷 표시 및 녹화를 제어하고 싶습니다.

제공된 VLC 액티브X 구성 요소를 사용하여 사용해보고 싶습니다.나는 피니시 제품이 설치할 필요가 없는 싱글 지퍼가 필요합니다.이 active 객체를 등록이 없는 COM으로 사용하는 것이 방법이라고 생각합니다.

레퍼런스

저는 숙제를 하고 있습니다. 여기 제 추천서가 있습니다.

등록 없이 vlc.dll을 사용하는 방법은 무엇입니까?

등록이 필요 없는 COM 인터럽트

VLC Player 및 Excel Visual Basic 편집기

VBA에서 무등록 COM 작업을 가져올 수 없습니다.

지금까지의 나의 시도.

Desktop\excel vlc demo\excel vlc demo를 만들었습니다.그런 다음 전체 vlc 배포를 Desktop\excel vlc demo\vlc\로 복사했습니다.

여기에는 axvlc.dll 및 axvlc.dll.manifest가 포함됩니다.

저는 모듈을 만들고 이 코드를 넣었습니다.

Sub VLC()
    Dim actCtx As Object
    Set actCtx = CreateObject("Microsoft.Windows.ActCtx")
    actCtx.Manifest = ThisWorkbook.Path & "\vlc\axvlc.dll.manifest"

    Dim myVlC As Object
    Set myVlC = actCtx.CreateObject("AXVLC.VLCPlugin2")

    myVlC.Visible = True
    myVlC.playlist.Add (ThisWorkbook.Path & "\demo.mov")
    myVlC.playlist.Play

End Sub

라인에서 실패합니다.

    Set myVlC = actCtx.CreateObject("AXVLC.VLCPlugin2")

실수로

    Run-time error '429':
    ActiveX component can't create object

개체 이름 "AXVLC"가 잘못되었을 수 있습니다.VLClugin2", 설명서에서 여전히 유효한지 확인할 수 없습니다.

또한 "이 경우 리그프리 COM을 작동시킬 수 없다고 생각합니다"라는 "user1610015"의 말이 맞을 수도 있습니다.

이 시점에서 저는 아이디어가 부족합니다. 저는 이전에 reg-free COM을 시도해 본 적이 없어서 reg-free COM이나 axvlc 부분에서 뭔가 잘못하고 있는지 모르겠습니다!

감사해요.

EDIT 1: 초기 바인딩으로 시도

저는 tool -> references에 들어가서 Browse를 클릭하고 axvlc.dll 파일을 추가했습니다.코드를 다음과 같이 수정하였습니다(AXVLC.VLClugin2 부분은 자동으로 완료되어 최소한 이 부분은 작동해야 합니다).

Sub VLC()
    Dim myVlC As New AXVLC.VLCPlugin2
    myVlC.Visible = True
    myVlC.playlist.Add (ThisWorkbook.Path & "\demo.mov")
    myVlC.playlist.Play

End Sub

그러나 동일한 오류로 인해 실패합니다.

    Run-time error '429':
    ActiveX component can't create object

걸려 있는

myVlC.Visible = True

이 파일도 regsrv32에 등록해야 할 수도 있습니다. EDIT 2: regsvr32를 시도했습니다.

vlc 하위 폴더에서 이 명령을 실행했습니다.

regsvr32 axvlc.dll

이 명령이 성공적으로 실행되었다는 메시지 상자가 표시되지만 동일한 오류가 발생합니다.

엑셀에서 vlc 플레이어를 시트와 폼에 삽입할 때 VLC를 사용하는 데 문제가 있었습니다.

작년에 효과가 있었어요선택할 추가 제어 상자에 "VLC ActiveX 플러그인..."이 없습니다.DLL을 등록했지만 여전히 작동하지 않았습니다.그리고 나서 나는 VLC를 새로운 버전과 64비트로 업그레이드한 것을 기억했습니다.

VLC 64를 제거하고 새 버전 32비트를 설치했습니다. "VLC ActiveX 플러그인..."이 추가 제어 상자에 모두 정상입니다.

언급URL : https://stackoverflow.com/questions/39300607/using-vlc-player-activex-within-excel-vba-as-a-registration-free-com

반응형