如何用vba从potplayer抓字幕填写到excel

如何利用excel vba,提取potplayer视频播放器的外挂字幕的某个单词,用鼠标点一下某个单词,系统就自动复制这个单词,并自动粘贴到excel的某个指定单元格

点击
potplayer上的外挂字幕的某个英语单词,复制粘贴到文本粘贴板,再打开excel,从文本粘贴板,粘贴到excel的左上角的指定的单元格

1 个赞

有点好奇应用场景是什么样的?

单词本?

“用鼠标点一下某个单词,系统就自动复制这个单词”
我觉得这点就很难做到,或者说不可能。视频上的字幕其实已经被播放器渲染为图像叠加在视频上,你点某个位置,没办法知道你点的是什么…
不要说某个单词了,获取到当前时刻显示的字幕语句 我觉得对potplayer都有些困难…(ps:刚查到mpv是可以做到复制当前字幕的,[Request] Hotkey to copy currently displayed subtitles text to clipboard · Issue #4695 · mpv-player/mpv · GitHub )

你可能需要专门为此设计的播放器

是利用excel的websevice函数抓取网页内容,放大显示,给弱视力孩子学习辅导

但是学习的软件是用potplayer,学习内容是视频类英语课程

字号放大
黑色底色

而且用卡拉ok效果做动画,实现声音与文字同步,当听到声音的时候。与声音对应的文字变红色,方便弱视力孩子看书认字学单词

现在就是要用一个代码,把potplayer外挂字幕的单词,复制
并打开excel,自动粘贴到指定位置的单元格上

pot好像没有直接渲染成图片的哦~

用类似textify的思路,先抓取当前控件的文本,然后根据点击位置和窗口位置来定位单词?
我觉得不如脱离potplayer,H5播放,剩下来就好控制了

我现在,用POTPLAYER,给弱视学生,看我作的卡拉OK效果的英语学习课件,实现了,几个功能,一,黑底白字,保护他们眼睛,他们眼睛都怕光,二,字号放大了,字体加粗了,他们看得见字了,能认字了,三,能实现声音与文字同步,声音响,与声音对应的文字就变成红色,声音给耳朵,文字给眼睛,眼耳同步,促进他们的学习,四,POTPLAYER有复读功能,能设置AB点,他们可以对没学会的,反复听
因此,POTPLAYER是非常好的学习工具,对弱视力儿童,学英语,学语文,非常有用

现在就是,要用VBA来开写一个BAT文件,放到POTPLAYER里,成为字幕,关键词搜索,点击单词后,触发一系列的动作,批处理,比如,复制单词,比如,打开EXCEL,并把单词粘贴到EXCEL的指定的单元格上,这样就成功了

现在是,找人,帮我写这个BAT

这里,有现成的BAT代码

只是要把VBA改一下,把粘贴功能实现

这个现成的BAT,是打开这个EXCEL的功能

现在我们要加一个复制粘贴的功能 进去

字幕→(字幕渲染器)→字幕数据→(视频渲染器)
我觉得不会是什么文本控件,期待你能找出方法直接获取视频上显示的字幕

POTPLAYER, 外挂的SRT字幕,上的某个单词,在被点击的时候,就等于是被复制了,然后在其他软件上,就能粘帖,因此,你想的,是不需要考虑的,现在要考虑的是,点击的同时,要能打开EXCEL,并在指定的某个单元格上,粘贴这个单词,我要的,是实现这个功能或需求

那你直接搜索 vba 剪贴板 粘贴就好了啊…
我刚看到一篇,略微修改下就是了http://www.exceloffice.net/archives/1875

另一种方法 Worksheet.PasteSpecial 方法 (Excel) | Microsoft Learn

好的,我看看,谢谢

没有用 vba,网上找了几段 vbs 脚本拼接了一下实现了插入 Excel 。

  1. 新建一个工作目录,例如 C:/PATH
  2. 将需要填写字幕的 Excel 文件拷贝到该目录,文件为 C:\PATH\target.xlsx
  3. 工作目录中创建 InsertExcel.vbs 脚本。工作表 Sheet1 及单元格 A1 按实际情况修改
dim oExcel,oWb,oSheet 
Set oExcel= CreateObject("Excel.Application") 
Set oWb = oExcel.Workbooks.Open("C:\PATH\target.xlsx") 
Set oSheet = oWb.Sheets("Sheet1")
oSheet.Range("A1").Value = Wscript.Arguments.Item(0)
oWb.Save
oExcel.Quit
  1. 在 Potplayer 设置的关键字搜索设置中,新增一个项目,标题随意,项目内容如下:
wscript.exe C:\PATH\InsertExcel.vbs %%SS
  1. 将新增的项目调整至首位,点击字幕文件单词就可以自动粘贴了

谢谢谢谢谢谢

您好,我按您这个代码,测试了一下,失败了,愿意提示

windows脚本宿主执行失败,存储空间不足,无法完成此操作

我截了图,发您看看
vbs脚本,我只是改了一下路径及文件名
工作簿还是sheet1,单元格为c1

您能否看看,也可以加我qq,199483611,能否远程指导一下,谢谢


是可以有文本控件的,而且本身是可以复制的。但我不太确定是不是我之前修改过设置。

有个比较费工夫的办法,就是把字幕切割成逐词,那就好处理了,但是这样的工作量可太大了
或者直接用带OCR功能的截图小工具,能够框选出不会的词,字幕输出的话OCR错误的可能性不会太大。
或者给每行字幕标行号,根据行号+词序号来定位不会的单词来添加进词典里面。这个可以做个置顶窗体来让学生输入。

昨天做了一半的程序,把每个词放到表格的单元格里面,然后点击这个词就会发出声音。
但感觉不太符合楼主的要求就算了。

您好能否把您这个半成品,能发出声音的,作品,发我邮箱,[email protected],我学习一下,谢谢

拷贝到Excel的目的是什么? 如果只是发音的话,应该会有更直接的方式的,使用tts什么的。