我通过导入数据创建了 300 多页的 Visio 绘图以创建 300 多个“组织结构图”。
我说“组织结构图”,因为它们实际上是将 Crystal Report 绘制为“CEO”,并将其数据源表和字段绘制为“员工”。
我现在有一个包含 300 多页的巨大 Visio 文件,每一页都是一个报表及其数据源。但我的目标是获得 300 多个单独的文档,每个文档都以适当的方式命名。使用 vba 我可以根据需要重命名每个页面或从页面获取所需的名称。
理想情况下,我想要 pdf 文件,而不是 visio 文件,但在紧要关头会这样做,最后一个可取的是 jpg/gif。
我试过了:
将每个页面导出/保存为 jpg/gif/html 但出现 920 错误.. 在详尽搜索如何修改每个页面的分辨率以避免 920 错误后,我完全被难住了,我的意思是需要什么“完美”分辨率?可用的文档非常模糊。
Sub ExportPagesAsFiles() Dim PagsObj As Visio.Pages Dim PagObj As Visio.Page Dim ExportName As String Dim ExportPath As String Set PagsObj = ActiveDocument.Pages 'Open "C:\temp\exportLog.txt" For Output Shared As #1 For Each PagObj In PagsObj ExportPath = "c:\Report_Visio\" ExportName = ExportPath & PagObj.Name & ".jpg" ' ".gif" ' ".wmf" ' ".html" 'Print #1, ExportName PagObj.Export ExportName Next PagObj 'Close #1 End Sub
打印到 pdf 打印机但点击 pdf 软件对话框 (CutePDF)。我没有修改系统注册表的管理员权限,而且我在 Windows 7 机器上,并且 sendkeys 是非法的。
vba 创建新文档,将页面绘图复制/粘贴到其中,命名新文档,用名称保存。但是一些 Visio 怪癖只复制粘贴页面对象,而不是它们后面的标题和数据,因此它们是空白形状。详尽搜索后,我不清楚复制整个页面内容。
vba 以第一页的名称保存 300 多个文档的副本,然后删除其余页面。第二次打开原始页面,保存为第二页,然后删除其余页面,重复300+次。我在大约 10 页和 3 小时后退出了这个。
似乎每条可能的解决方案路径都会遇到陷阱、沼泽、悬崖......
作为一般说明,Internet 上提供的 Visio 信息要么非常简陋,要么技术晦涩难懂。对于任何其他 Office 产品,论坛等中有大量信息、示例等。但 Visio 是它的蟋蟀。
所以想知道是否有任何 Visio 开发人员可以帮助我选择和导航这些解决方案路径!
谢谢。
编辑添加:我正在使用 Visio Standard 2003 版本编辑添加 Visio 导出到使用的文件代码