在excel vba中使用VLC player activex作为免注册的COM

问题定义

我有两个USB显微镜阅读部分和序列号。 我想控制Excel-VBA屏幕截图的显示和logging。

我想尝试使用提供的VLC活动X组件。 我需要完成产品是一个单一的压缩,不需要安装。 我认为使用这个activex对象作为一个免注册的COM是最好的select。

参考

我一直在做我的功课,这里是我的参考。

如何使用vlc.dll而不注册?

免注册的COM Interop

VLC播放器和Excel Visual Basic编辑器

从VBA无法获得免注册的COM

我到目前为止的尝试。

我创build了Desktop \ excel vlc demo \ excel vlc demo.xlsb然后我将整个vlc发行版复制到桌面\ excel vlc demo \ vlc \

这包括axvlc.dll和axvlc.dll.manifest

我创build了一个模块,并把这个代码。

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.VLCPlugin2”,我不能确认它是否在文档中仍然有效。

这也可能是“user1610015”是正确的说“我不认为你可以在这种情况下使免注册的COM工作”

在这一点上我没有想法,我从来没有尝试过无reg的COM,所以我不知道我是否在无reg的COM或axvlc部分做错了事情!

谢谢

编辑1:尝试早期绑定

我进入工具 – >引用,然后单击浏览并添加axvlc.dll文件。 我修改了代码如下(AXVLC.VLCPlugin2部分自动完成,所以至less这部分应该工作)

 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注册这个文件? 编辑2:试过regsvr32

从vlc子文件夹运行这个命令

 regsvr32 axvlc.dll 

我有一个msgbox说这个命令运行成功,但是我得到了同样的错误。