2015-11-02 50 views
-1

我想讓我的python程序使用模具(.vss)文件中的形狀生成visio繪圖。我怎樣才能做到這一點?我想我可以生成xml格式化的.vdx文件,但是.vdx格式沒有很多文檔。使用.vss模板文件通過python代碼生成形狀(使用.vdx?)

編輯:計算機安裝了visio。

+0

你什麼意思通過「手動」呢?沒有安裝visio? – Nikolay

+0

是的,我想我的問題不清楚。我的目標是編寫一些可生成Visio繪圖的代碼。我想我可以編寫能生成xml格式的vdx文件的代碼,但vdx格式上沒有很多文檔。 – user2482876

+0

我編輯了這個問題,以更好地展示我想要做的事情。 – user2482876

回答

1

如果您安裝了Visio,那麼您可以使用Visio API和Python CLR或COM綁定來使它爲您做好這些事情。這裏有一些相似的,所以問題(的Visio和Python):

Reading the contents of Microsoft Visio (2010) doc in IronPython

Cannot open Visio document with Python

退房Visio SDK和自由 「開發Visio解決方案」,在MSDN書開始。

不管怎麼說,一些代碼開始(打開一個標準的「基本形狀」 .VSS模板,然後下降矩形形狀,然後保存爲.VDX):

import win32com.client 

visio = win32com.client.Dispatch("Visio.Application") 
doc = visio.Documents.Add("") 
stn = visio.Documents.Open("BASIC_M.VSS") 

page = doc.Pages.Item(1) 

master = stn.Masters.Item("Rectangle") 
rect = page.Drop(master, 0, 0) 

doc.SaveAs("C:\\<some directory>\\file.vdx") 
doc.Close() 

visio.Quit() 
+0

'進口二手wind32com.client'不適合我。我的工作: '進口SYS 進口CLR 進口系統 clr.AddReference( 「Microsoft.Office.Interop.Visio」) 進口Microsoft.Office.Interop。 Visio IVisio = Microsoft.Office.Interop.Visio visio = IVisio.ApplicationClass()'按照http://stackoverflow.com/questions/27439603/reading-the-contents-of-microsoft-visio-2010-doc- in-ironpython – user2482876

+0

爲了得到這個(win32com),你可能需要安裝python for windows extensions。但是如果它已經以另一種方式工作了:) – Nikolay

+0

你知道在哪裏可以找到win32com.client.Dispatch(「Visio.Application」)的文檔嗎?我正在嘗試瞭解如何連接形狀並編輯形狀數據。順便說一句,感謝您的幫助! – user2482876