//******************************************************************************************* //将excel文件转换成nova2012版本的播放列表格式。 //由于播放列表其实是改了一个后缀名的xml文件。 //该脚本的编写思路是:将固定的部分直接写入文本文档, 需要变化的部分用变量取值,在需要变化的地方写入。 //最后用软件convertz转换成UTF-8格式,copy命令重命名。 //******************************************************************************************* //删除D盘根目录下的1.txt以免重复。 RunApp "cmd /c del d:\1.txt" //定义filepath,表示读取的excel文件。 dim filepath //定义p,表示当前的行数 Dim p //定义clas,表示当前行的第二列是图片、flash、还是视频判断后续用什么格式写入文档。 Dim clas //定义chec,表示当前行的第一列是否到了“时间标记”,到了就说明该时间段结束。 Dim chec //定义begin,表示当前行显示的开始时间为多少 Dim begin //定义ending,表示当前行显示的结束时间为多少 Dim ending //定义typ,表示当前行第三列显示的文件名是什么。 Dim typ //定义lenth,表示当前行的第四列显示的时间是多少。 Dim lenth //定义xftime,表示消防提示播放的时间是几点。 Dim xftime //弹出窗口,读取excel文件到 filepath filepath = Plugin.File.SelectFile() //excel表格式固定,第三排开始才是需要的数据,因此定义P的初始值为3 p = 3 //打开office文档。 Call Plugin.Office.OpenXls(filepath) //调用子程序pre(),写入开头的信息。 Call pre() //标记next2,以便后面循环的需要。 Rem next2 //读取当前的时间:第一个工作表的第p行(初始为3)第二和第三列分别是开始和结束时间。 begin = Plugin.Office.ReadXls(1, p, 2) ending = Plugin.Office.ReadXls(1, p, 3) //读取子程序pre1(),写入第一个时间段的开头信息。 Call pre1() //标记next3,为了循环写入图片,flash,视频的不同格式。 Rem next3 //p自增,就到了下一行 p = p + 1 //将clas、chec、typ、lenth、赋值,其含义在dim里面有解释。 clas = Plugin.Office.ReadXls(1, p, 2) chec = Plugin.Office.ReadXls(1, p, 1) typ = Plugin.Office.ReadXls(1, p, 3) lenth = Plugin.Office.ReadXls(1, p, 4) //检查chec是否到了时间标记。 If chec = "时间标记" //到了就说明该时间段结束。写入该时间段的结束信息。 Call over1() //跳出循环,向上到next2,继续读取下一个时间段的开始结束时间写入下一个时间段。 Goto next2 //检查chec是否到了空白处。 ElseIf chec = "" //到了就说明所有时间段结束。写入该时间段的结束信息。 Call over1() //跳出循环,向下到next1,进行后续收尾工作。 Goto next1 //检查clas是图片,flash,还是视频,根据不同结果调用不同子程序,写入不同内容。 ElseIf clas = "图片" Call pic() ElseIf clas = "Flash" Call flash() ElseIf clas = "视频" Call video() End If //跳到next3 Goto next3 //标记next1 Rem next1 //到了这里就是插播的内容,由于插播内容没有写在EXCEL文件内,是固定的,因此后面的值都用固定的。 //调用插播的开头部分pre3 Call pre3() //将typ赋值一个字符串 typ = "xf.jpg" //将typ赋值为10,播放时间固定为10秒。 lenth = 10 //消防插播广告使用图片,因此调用子程序pic() Call pic() //调用插播的结尾部分over2() Call over2() //一下是循环部分,xftime是循环播放的小时时刻,因此赋值后调用子程序xiaofang()如此循环。 xftime = "8" Call xiaofang() xftime = "9" Call xiaofang() xftime = "11" Call xiaofang() xftime = "12"