从Visio文件自动创建PNG

时间:2014-12-31 17:58:36

标签: powershell automation office-automation

我经常在Visio工作制作图表/图表等。并且需要将它们导出到PNG以供我的团队其他人使用。手动执行此操作会开始成为一个问题,因为图表会不断更新。

我想要的是每次更改visio文件时,导出的PNG都会自动更新为新版本。我该怎么做?

1 个答案:

答案 0 :(得分:1)

Micky是正确的,您可以使用导出Com方法(http://msdn.microsoft.com/en-us/library/ms427146%28v=office.12%29.aspx)。但是,您真正想要的是像文件管理器一样,只要文件被修改就会注意到它?

这是一个单独的问题,所以我将把这个答案集中在如何将visio文档导出为PNG文件。

$visioApp = New-Object -ComObject Visio.Application
$visioApp.visible = $false
[void]$visioApp.Documents.Add("C:\temp\drawing1.vsdx")
foreach($page in $visioApp.ActiveDocument.Pages) {
   $page.Export("C:\temp\$($page.name).png")
}

要在文件发生更改时导出,您需要使用filewatcher,在命名空间中可用的文档更改之一的Com事件,或者只是具有迭代目录并按给定计划导出它们的计划任务