步骤 1: 准备数据
首先,在Excel工作簿中创建一个新的工作表,用于列出所有需要插入的视频信息。每一行代表一个视频文件及其对应的插入位置。例如:
步骤 2: 编写 VBA 宏
打开VBA编辑器(按 `Alt + F11`),在“插入”菜单中选择“模块”,然后将下面的代码粘贴进去。这段代码会读取指定范围内的视频路径,并根据提供的信息将视频嵌入到相应的工作表和单元格中。
Sub InsertVideos()
Dim ws As Worksheet
Dim videoListWs As Worksheet
Dim lastRow As Long
Dim i As Long
Dim videoPath As String
Dim targetSheetName As String
Dim targetCell As Range
' 设置工作表变量为包含视频列表的工作表
Set videoListWs = ThisWorkbook.Sheets("视频列表") ' 请根据实际情况修改工作表名称
' 获取最后一行
lastRow = videoListWs.Cells(videoListWs.Rows.Count, "A").End(xlUp).Row
' 循环遍历每一行,从第2行开始(假设第一行为标题)
For i = 2 To lastRow
' 获取当前行的视频路径、目标工作表名和单元格位置
videoPath = videoListWs.Cells(i, 1).Value
targetSheetName = videoListWs.Cells(i, 2).Value
Set targetCell = ThisWorkbook.Sheets(targetSheetName).Range(videoListWs.Cells(i, 3).Value)
' 插入视频
Call InsertVideo(videoPath, targetCell)
Next i
End Sub
Sub InsertVideo(videoPath As String, targetCell As Range)
Dim shpOle As Object
On Error Resume Next
' 插入视频对象
Set shpOle = targetCell.Worksheet.OLEObjects.Add(Filename:=videoPath, Link:=False, DisplayAsIcon:=True)
With shpOle
.Top = targetCell.Top
.Left = targetCell.Left
.Width = 100 ' 可以调整宽度
.Height = 80 ' 可以调整高度
.Object.Verb xlDoubleClicked ' 如果支持的话,激活播放
End With
On Error GoTo 0
End Sub
注意事项
- execl中存放视频的sheet表命名为 “视频列表”,或者将代码当中“视频列表”改为当前存放的视频sheet表;
- 视频路径从A2单元格开始检索;
执行宏
保存你的VBA代码后,关闭VBA编辑器,返回到Excel。你可以通过点击“开发工具”选项卡上的“宏”按钮来运行这个宏,或者分配给一个快捷键/按钮来执行。