不好办。 我测试了好几次,几乎每次都WORD 都死掉了。究其原因,是因为转换过程与WORD是两个程序,如果同时执行多个文档的转换,根本无法响应。 目前无法直接得到“Macromedia FlashPaper”已经关闭的方法,只能从Macromedia FlashPaper中考虑优化了。况且在文件夹中直接右击,可转换成SWF时的功能中,也没有加入多个文件直接转换的功能。 加载宏(FlashPapetWordUITemplate.2283)中没有任何VBA代码。 Option Explicit Sub WordtoSwf() Dim MyDialog As FileDialog, myDoc As Document, oSel As Variant Dim myBar As CommandBar ' On Error Resume Next '忽略错误 Set myBar = Application.CommandBars("FlashPaper ToolBar") If Err.Number <> 0 Then Err.Clear: MsgBox "请下载并安装Macromedia FlashPaper 2程序!", vbCritical: Exit Sub '定义一个文件夹选取对话框 Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有 WORD 文件", "*.doc", 1 '增加筛选器的项目为所有WORD文件 .AllowMultiSelect = True '允许多项选择 If .Show = -1 Then '确定 For Each oSel In .SelectedItems '在所有选取项目中循环 Do While Fp = True Stop Loop Set myDoc = Documents.Open(oSel) SendKeys "{Enter}", False myBar.Controls(1).Execute myDoc.Close False Next End If End With End Sub Function Fp() As Boolean If Tasks.Exists("Macromedia FlashPaper") = True Then Fp = True End Function
|