使用 Excel VBA 中的 VLC 播放电影

Posted

技术标签:

【中文标题】使用 Excel VBA 中的 VLC 播放电影【英文标题】:Play movie using VLC from Excel VBA 【发布时间】:2018-09-20 13:19:12 【问题描述】:

我正在尝试创建一个 excel vba 程序/宏,它将使用 vlc activex 插件 (axvlc.dll) 在 vlc 播放器中启动本地存储在我的硬盘上的电影。我可以注册 vlc,以便它出现在我的项目参考中。我还可以在“对象浏览器”中看到 AXVLC。但我无法让任何代码工作,它不会给出“运行时错误'429':ActiveX 组件无法创建。”我正在使用 Excel 2016 和 VBA 7.1。

Sub Button1_Click()
   Dim myVlC As Object
   Set myVlC = CreateObject("AXVLC.VLCPlugin2")
   myVlC.Visible = True
   myVlC.playlist.Add ("test.mkv")
   myVlC.playlist.Play
End Sub

我试图关注这里的对话...Using VLC player activex within excel vba as a registration-free COM 和这里... https://social.msdn.microsoft.com/Forums/en-US/baec16d1-e85c-4be9-8751-966bef527756/vlc-player-and-excel-visual-basic-editor?forum=isvvba 没有成功。

我已经创建了很多简单的宏,但从来没有使用 ActiveX 或任何真正面向对象的东西。任何帮助将不胜感激。

【问题讨论】:

注册后,添加了吗? 抱歉,我不确定这是什么意思 - “你添加了吗?”。当我单击工具->参考时,我在列表中看到 VideoLAN VLC ActiveX 插件。我还缺少另一个步骤吗? 哦,我确实选中了该框!如果这就是你的意思。 在那个链接中有人说如果你使用后期绑定,你应该使用VideoLAN.VLCPlugin.2而不是AXVLC.VLCPlugin2,但他们也说你根本不能使用后期绑定这个插件(又名CreateObject()),所以我不确定这里的正确答案是什么。 aha - 我刚刚在哪里看到了 VLC+VBA 的工作代码...这是我的帖子(哈哈),在 AWF 上。 Does this help?帖子是回复:访问,但应该非常接近。 (哈,“过去的我”中有趣的阅读内容,指的是 “The” *** Page;正是这篇文章可能是我开始使用 this 网站的原因。 ) 【参考方案1】:
Public Sub Start_VLC()
'its working for me...
    Dim strProgramName As String
    Dim strArgument As String
    Dim strLoc As String

    strLoc = Worksheets("dbFilmes").Cells(2, 6).Value 'film location
    strProgramName = "C:\Program Files\VideoLAN\VLC\vlc.exe" 'vlc location
    strArgument = strLoc 'film location

    Call Shell("""" & strProgramName & """ """ & strArgument & """", vbNormalFocus)
End Sub

【讨论】:

以上是关于使用 Excel VBA 中的 VLC 播放电影的主要内容,如果未能解决你的问题,请参考以下文章

用于 STDIN 的命名管道来控制电影播放器

使用 VBA Excel 播放任何音频文件

excel中怎样用vba使单元格在特定条件下才可以编辑?

VLC 3.0支持Chromecast8K和HDR

vlc播放流程分析

VBA - 如何使随机化字符串数组工作?