2013-09-27 29 views
0

我想從Excel中啓動一個新的Visio實例並執行一些代碼。 這很好,但執行代碼的時間比直接在visio宏中執行代碼要長約100倍。新的Visio實例的性能問題

Visio 2003中

Dim visio_app As New Visio.Application 
Dim doc As Visio.Document, pg As Visio.page 

Set doc = visio_app.Documents.Open(.......) 
Set pg = visio_app.ActivePage 

'Performance problem runing this methode 
delete.doDeleteDeleted visio_app, pg 

...... 

性能沒有問題,當我在Visio中直接啓動代碼

delete.doDeleteDeleted Application, Application.ActivePage 

沒有任何人知道如何解決它?

謝謝你的幫助!

+0

這是什麼delete.doDeleteDeleted方法?這是您在Excel中使用VBA的例程,您可以在Visio中運行嗎? –

+0

是的,它也運行在visio中。 – Axel

回答

1

我已經找到了解決方法。我創建了一個包含doDeleteDeleted方法的Visio文件和一個執行doDeleteDeleted的run子文件。然後我使用visio_app。 ExecuteLine(....)執行Visio文件中的代碼。這有效,但它沒有吸引力