VBA 将 Visio 2013 另存为 SVG

VBA for Visio 2013 to save as SVG

我需要一个允许我将当前 Visio 绘图保存为 SVG 文件的宏。

目前我能做的最快的方法是使用 F12 键盘快捷键,它会显示“另存为”对话框,但每次我仍然必须 select 正确的输出文件,即 PNG,然后写下文件的名称。

是否可以将其自动化?我一直在寻找类似 Visio 中的宏录制之类的东西,但找不到。

对于 .bmp、.dib、.dwg、.dxf、.emf、.emz、.gif、.htm、.jpg、.png、.svg、.svgz、.tif 或 . wmf

扩展名将定义格式。

Dim vsoPage As Visio.Page 
Set vsoPage = ActivePage 
vsoPage.Export ("C:\myExportedPage.svg") 

这是一个循环所有页面导出每个页面的示例。

Dim PgObj    As Visio.Page 
Dim Pgs      As Visio.Pages 
Dim filename As String 
Dim PgName   As String 
Dim iPgs     As Integer 

'Set a handle to the pages collection
Set Pgs = Application.ActiveDocument.Pages 

'Loop Pages collections
For iPgs = 1 To Pgs.Count 
    'Set a handle to a page
    Set PgObj = Pgs(iPgs) 

    'Get Page name
    PgName = PgObj.Name 
    'Create path to save svg file
    filename = Application.ActiveDocument.Path & PgName & ".svg" 
    'Export the page as svg file
    PgObj.Export filename 
Next iPgs 

'Clean Up
Set PgObj = Nothing 
Set Pgs = Nothing