Visio 2013的VBA保存为SVG

时间:2015-08-03 15:21:55

标签: vba svg visio visio-vba

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

目前我能做的最快的方法是使用 F12 键盘快捷键,它为我提供了另存为对话框,但每次我必须选择正确的输出文件,即PNG,然后写下文件的名称。

是否可以实现自动化?我正在寻找像Visio中的宏录制这样的东西,但是找不到它。

1 个答案:

答案 0 :(得分:1)

对于.bmp,.dib,.dwg,.dxf,.emf,.emz,.gif,.htm,.jpg,.png,.svg,.svgz,.tif或.wmf的文件格式< / p>

扩展名将定义格式。

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