在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说这个命令运行成功,但是我得到了同样的错误。