tôi đã viết một module PowerShell gọi VisioPS có thể giúp bạn (Xem phần tải ở đây: * Các module VisioPS là một phần của tôi VisioAutomation library on CodePlex)
Sau khi cài đặt VisioPS, cho bạn một giới thiệu một thể hiện của PowerShell và thực hiện điều này:
Import-Module VisioPS
New-VisioApplication
New-VisioDocument
$dg = Import-VisioDirectedGraph c:\foo.xml
Invoke-VisioDraw $dg
Sơ đồ trực tiếp là một tài liệu XML đơn giản như thế này
<directedgraph>
<page>
<renderoptions
usedynamicconnectors="true"
scalingfactor="20"
/>
<shapes>
<shape id="n1" label="FOO1" stencil="server_u.vss" master="Server" url="http://microsoft.com" />
<shape id="n2" label="FOO2" stencil="server_u.vss" master="Email Server" url="http://contoso.com"/>
<shape id="n3" label="FOO3" stencil="server_u.vss" master="Proxy Server" url="\\isotope\public" />
<shape id="n4" label="FOO4" stencil="server_u.vss" master="Web Server">
<customprop name="prop1" value="value1"/>
<customprop name="prop2" value="value2"/>
</shape>
<shape id="n5" label="FOO4" stencil="server_u.vss" master="Application Server" />
</shapes>
<connectors>
<connector id="c1" from="n1" to="n2" label="LABEL1" />
<connector id="c2" from="n2" to="n3" label="LABEL2" color="#ff0000" weight="2" />
<connector id="c3" from="n3" to="n4" label="LABEL1" color="#44ff00" />
<connector id="c4" from="n4" to="n5" label="" color="#0000ff" weight="5"/>
<connector id="c5" from="n4" to="n1" label="" />
<connector id="c6" from="n4" to="n3" label="" weight="10"/>
</connectors>
</page>
</directedgraph>
- VisioPS sử dụng MSAGL để thực hiện bố trí cho các nút
- Bạn có thể dễ dàng chụp bảng của bạn phụ thuộc và tạo ra XML cần
- Nếu bạn nhìn sâu hơn về các mã trong thư viện của tôi, bạn cũng có thể tạo trực tiếp các đối tượng cần thiết để thực hiện hiển thị mà không phải trải qua XML chút nào.
Điều này bây giờ là: "Visio (2003 - 2010)" Microsoft đã xóa chức năng này khỏi các phiên bản sau. http: // www.harlansmith.com/2013/03/visio-2013-fail-microsoft-removes-key.html –