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
我需要一个允许我将当前 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