最近在做一個項目,由於客戶提供的是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-04
On 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=NoThing
WScript.Quit