Двоичный поток ole-объектов DXL

У меня проблемы с импортом объектов ole в двери. Я получил RIF-файл (zip с xml и папкой OLE). когда я импортирую таблицу Excel документа, файлы слов и изображения встраиваются как объекты ole. Эти документы импортируются как файлы *.ole и не отображаются, даже если они встроены в код.

файлы ole имеют такие заголовки:

{\object\objemb{\*\objclass Excel.Sheet.12}\objw488745\objh2055{\*\objdata

{\object\objemb{\*\objclass Word.Document.12}\objw9308\objh3666{\*\objdata 

{\pict\wmetafile8\picw15121\pich22138\picwgoal8528\pichgoal12506 

Я написал простую оболочку, которая может извлекать данные слов и xlsx и wmf в нашей ОС, но: документы xlsx «повреждены» и не могут быть импортированы в Doors.

Чтобы обойти эту проблему, я хотел бы иметь возможность импортировать собственный объект ole в модуль дверей, но я не могу найти никакого жизнеспособного метода.

Я попытался добавить заголовок rtf к документу, например:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 
Tahoma;}}\viewkind4\uc1\pard\f0\fs20

но все же я не могу встроить документ в объект.

Я также пробовал использовать простой скрипт dxl, но безуспешно:

Object o = current;
oleInsert(o, o."Object Text", "C:/Doors/asd.rtf", false)

Любой намек будет с радостью оценен. Я могу предоставить более подробную информацию, если требуется.

K.R.


person Catosh    schedule 09.10.2019    source источник


Ответы (1)


К.Р. не уверен, правильно ли я понимаю ваш вопрос, но похоже, что вы можете успешно извлечь RTF-код для объекта OLE, но просто не представляете, как импортировать его в DOORS?

oleInsert пытается поместить в объект фактический файл, а не RTF-код из файла.

Если вы просто пытаетесь присвоить форматированный текст тексту объекта, вы можете попробовать что-то вроде этого:

Object o = current;
string oleString = (...) //assign to RTF code you parsed out for individual ole object
o."Object Text" = richText(oleString)
person DC United    schedule 21.02.2020