如何在Visio中为批处理“适合绘图”操作编写宏?

问题描述 投票:1回答:1

我需要首先通过应用“适合绘图”选项保存所有visio文件,然后我想将它们保存为PDF文件。但我并不熟悉宏。有人可以帮帮我吗?

我的文件夹结构是这样的:

  • 带有visio文件的文件夹 Visio文件 Visio文件
  • 带有visio文件的文件夹 Visio文件

我需要在最后为每个visio文件提供一个pdf文件,所有图表都应该适合绘图。我使用Visio 2013。

vba visio
1个回答
2
投票

希望这段代码能提供帮助!

Sub Macro1()
Dim fso As Object, m_fld As Object, fld As Object, vd As Object, mf As String
Dim pdfn As String
Set fso = CreateObject("Scripting.FileSystemObject")
mf = InputBox("Path")
Set m_fld = fso.getfolder(mf)
For Each fld In m_fld.subfolders
    For Each fil In fld.Files
    If InStr(fil.Name, ".vsd") > 0 Then fit (fil.Path) ' MsgBox fil.Name
    Next
Next
For Each fil In m_fld.Files
    If InStr(fil.Name, ".vsd") > 0 Then fit (fil.Path)
Next
End Sub
Sub fit(fn As String)
Dim fd As Document
Set fd = Documents.OpenEx(fn, visOpenRW)
pdfn = Replace(fd.FullName, Right(fd.FullName, Len(fd.FullName) - InStrRev(fd.FullName, ".")), "pdf")
For Each pg In fd.Pages
    fd.Application.ActiveWindow.Page = pg.Name
    Application.ActiveWindow.ViewFit = visFitPage
Next
fd.ExportAsFixedFormat visFixedFormatPDF, pdfn, visDocExIntentScreen, visPrintAll
fd.Save
fd.Close
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.