2013-05-28 50 views

回答

1

不幸的是,沒有辦法,我可以看到直接做到這一點,但這是圍繞一個很好的工作,如果你的對象的文本並不在它已經有一個OLE。

Object o = current 
string filename = "PATH_TO_FILE" 
oleInsert(o, filename, true) 

string err = null 

if (oleIsObject o){ 
    if (oleCut o){ 
    err = olePasteSpecial(o."OTHER_ATTRIBUTE_NAME", true) 
    if(!null err) 
     print err 
    } else { 
    print "Problem trying to cut object\n" 
    } 
} else { 
    print "Does not contain an embedded object in its object text\n" 
} 

oleInserttrueolePasteSpecial是插入OLE爲圖標。如果你不希望它作爲一個圖標,你可以將它們都改爲假。

祝你好運!

+0

謝謝史蒂夫,那是一位顧問向我推薦的。 –

0

只是爲了完整性:隨着DOORS 9.5 oleInsert()改變了簽名:

bool oleInsert(Object o,[attrRef],string fileName,[bool insertAsIcon]) 

隨着文檔

如果可選參數attrRef指定,那麼OLE對象是 嵌入式在用戶定義的文本屬性中。如果沒有指定參數 ,則將OLE對象嵌入到系統「對象文本」 屬性中。

這使得它更容易一些。

0

謝謝@Twonky!這對我來說太有幫助了。 此外,我添加了來自dxl參考手冊的示例代碼。

/* 
this code segment embeds an existing word document into the current formal 
object 
*/ 
string docName = "c:\\docs\\details.doc" 
Object obj = current 
if (oleInsert(obj, obj."my_text", docName)){ 
    print "Successfully embedded document\n" 
} else { 
    print "Problem trying to embed document\n" 
}