批量将Visio文件转为SVG

来源:互联网 发布:php商城源码免费下载 编辑:程序博客网 时间:2024/06/06 19:03

最近在做一个项目,由于客户提供的是Visio文件,可是我们要操作的SVG文件,所以找了相关资料之后,就有了这段代码。

将Visio文件转为SVG文件,将如下代码保存在文本文件中,另存为VBS文件

PS:对于Visio的操作可以参见点击打开链接(MSDN Library ->  Office Development ->  Microsoft Office 2010 -> Visio 2010 -> Visio 2010 SDK -> Visio 2010 Automation Reference -> Reference)

'VSD2SVG.vbs'Describe:批量将Visio文件转为SVG'Author:Haber'QQ:542143331'Version:V1.0'Date:2012-05-04On Error Resume Next    Set objVisio = CreateObject("Visio.Application")        objVisio.Visible = False'     Set objShell = CreateObject("Wscript.Shell")     Set Fso = CreateObject("Scripting.FileSystemObject")    Set MyFolder=FSO.GetFolder("D:\sh") '源文件目录    Set Files=MyFolder.files        Fso.CreateFolder(MyFolder+"\converted")  For Each File In Files          Ext=FSO.GetExtensionName(file)       If Ext="vsd" Then          basename=fso.GetBaseName(file)          objVisio.Documents.OpenEx File, visOpenRW          Set  objVisioPags =  objVisio.ActiveDocument.Pages          '读取多个sheet页,并转为多个SVG图          For Each Page in objVisioPags              page.Export (Myfolder+"\converted\"+basename+"_"+CStr(page.index-1)+".svg")            Next          objVisio.ActiveWindow.Close         END if  NEXT  objVisio.quit()  MsgBox("Transformation has been done!")  Set objVisio = NoThing  Set Fso = NoThing  Set MyFolder=NoThing  Set Files=NoThing  Set objShell=NoThingWScript.Quit