问题定义
我有两个usb显微镜读数部分和序列号。我想从Excel-VBA控制屏幕截图的显示和录制。
我想使用提供的VLC active X组件来尝试一下。我需要的最终产品是一个单一的压缩,不需要安装。我认为使用这个activex对象作为一个免注册的COM是可行的。
参考文献
我一直在做我的功课,这里是我的推荐人。
How to use vlc.dll without registration?
VLC Player and Excel Visual Basic Editor
Cannot get registration-free COM working from VBA
到目前为止我的尝试。
我创建了Desktop\excel vlc demo\excel vlc demo.xlsb,然后将整个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.VLCPlugin2",我不能确认它在documentation中是否仍然有效。
也可能"user1610015“说得对,”我不认为你可以在这种情况下让没有注册表的COM工作“。
在这一点上我没有想法,我以前从来没有尝试过reg-free COM,所以我不知道我是不是在reg-free COM或axvlc部分做错了什么!
谢谢
编辑1:尝试使用早期绑定
我进入tool -> references,然后单击browse并添加axvlc.dll文件。我修改了代码,如下所示( AXVLC.VLCPlugin2部件是自动完成的,所以至少这部分应该可以工作)
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,说这个命令运行成功,但是我得到了同样的错误。
发布于 2021-02-03 13:48:04
我有问题使用VLC与Excel插入vlc播放器到工作表和表单。
去年它成功了..。"VLC Activex插件...“不在要选择的其他控件框中。注册dll成功,但仍不起作用。然后我想起我把VLC升级到了新版本和64位
我卸载了VLC 64并安装了新的32位版本的"VLC Activex plugin...“现在在附加控件框中一切正常。
https://stackoverflow.com/questions/39300607
复制相似问题