C#画VISIO如何设置visio所有页面为autosize的另外一种方法
时间: 2024-03-04 15:49:46 浏览: 118
另一种设置 Visio 所有页面为自动大小的方法是使用 Visio 的 VBA 宏,通过 C# 代码调用该宏来实现。具体步骤如下:
1. 在 Visio 中创建一个宏,将所有页面设置为自动大小。
在 Visio 中按下 Alt + F11 快捷键打开 VBA 编辑器,然后在“Microsoft Visio Objects”中创建一个新的模块。在该模块中编写以下代码:
```
Sub SetAutoPageSize()
Dim pg As Visio.Page
For Each pg In ActiveDocument.Pages
pg.PageSheet.CellsC("PageWidth").FormulaU = "GUARD(1 in)"
pg.PageSheet.CellsC("PageHeight").FormulaU = "GUARD(1 in)"
pg.PageSheet.CellsC("DrawingScale").FormulaU = "GUARD(1 in = 1 in)"
pg.Layout
Next
End Sub
```
保存并关闭该宏。
2. 在 C# 代码中调用该宏。
使用以下代码在 C# 中打开 Visio 文件并运行该宏:
```
using Visio = Microsoft.Office.Interop.Visio;
// 创建 Visio 应用程序对象并打开 Visio 文件
Visio.Application visioApp = new Visio.Application();
Visio.Document visioDoc = visioApp.Documents.Open("path/to/your/visio/file.vsd");
// 运行 VBA 宏
visioApp.Run("SetAutoPageSize");
// 保存并关闭 Visio 文件
visioDoc.Save();
visioApp.Quit();
```
这里使用了 Microsoft.Office.Interop.Visio 库来访问 Visio 应用程序,并通过调用 VBA 宏来设置所有页面的大小。最后,保存并关闭 Visio 文件。
阅读全文