2017-07-20 32 views
0

我正在嘗試創建一個DXL腳本,它將從選擇的一組模塊中提取所有對象,並將它們合併到一個新模塊中,然後將其導出到Excel 。DXL:將對象從一個已關閉的模塊複製到第二個已關閉的模塊

我遇到的問題是我無法弄清楚如何從未打開的模塊獲取對象。我打開任何方法,但我一直在嘗試使用ModuleHandles。我見過的大多數例子都是爲了在當前模塊中移動對象。

回答

0

您需要兩個Module類型的變量,一個用於源模塊(例如mSrc),一個用於目標模塊(mTgt)。使用命令read打開源模塊並將結果句柄設置爲mSrc。使用edit(或create)打開目標模塊並將生成的句柄設置爲mTgt。

然後使用Object類型的變量用於遍歷MSRC的所有對象(for oSrc in mSrc或也許... in entire mSrc,這取決於如何在源模塊的視圖被設置),創建在目標模塊中的對象(到一個可變oTgt類型對象)將您需要的對象屬性從oSrc複製到oTgt。對於後者,在copyops.inc中有一個函數copyAttribute_。

如果你要複製的源模塊的層次結構,則需要for Object in Object類型的循環和像create aftercreate below等命令 也許已經有在IBM的DXL論壇或一些網站提供的可用腳本解決您的問題。

相關問題