DOORS DXL:将OLE Object插入任何对象属性

时间:2013-05-28 19:09:51

标签: ibm-doors

有没有办法使用DXL脚本将word文档作为OLE对象插入到与 Object Text 不同的任何对象属性中?

DXL函数oleInsert允许执行此操作,但仅适用于属性对象文本

谢谢

3 个答案:

答案 0 :(得分: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"
}

trueoleInsert中的olePasteSpecial将OLE插入为图标。如果您不希望它作为图标,则可以将它们都更改为false。

祝你好运!

答案 1 :(得分:0)

为了完整性:使用DOORS 9.5,oleInsert()的签名发生了变化:

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

使用文档

  

如果指定了可选参数 attrRef ,则OLE对象为   嵌入在用户定义的文本属性中。如果没有参数   指定,然后OLE对象嵌入在系统"对象文本"   属性。

这使它更容易。

答案 2 :(得分: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"
}