Тема: Word, AddOLEObject
Показать сообщение отдельно
Старый 28.07.2010, 18:42   #1  
JustNick is offline
JustNick
Участник
 
8 / 10 (1) +
Регистрация: 14.07.2010
Адрес: Москва
Word, AddOLEObject
Доброго времени суток.
Открываю шаблон Word-а 2003 и пытаюсь заполнить ячейку таблицы объектом, связанным с картинкой.
Если делать средствами Word-а, то это здесь: Вставка/Объект/Создание из файла...
Здесь выбираю картинку и ставлю галку "В виде значка".

Внимание, вопрос :
Если записывать макрос и запускать, то все красиво. Если тот же код макроса написать в Axaptа, то добавляет объект, но без иконки. И еще одна разница в поведении - из макроса я могу кликнуть 2 раза по объекту и он открывается, а из кода Аксапты - нет. Что я делаю неправильно, подскажите плз

Код:
public void InsertOLEObject(BookMark bookMark, str FileName, boolean LinkToFile = true, boolean DisplayAsIcon = true)
{
    COM ComRange;
    COM InShape;
    COM PictRes;
    RT_Resources2 rtR2;
    str IconFileName;
    ;

    if (!m_comDocument)
        throw error(StrFmt("@DIS6401", this.getApplicationName()));
    ComRange = this.findRange(bookMark);
    InShape = ComRange.InlineShapes();
    rtR2 = RT_RefToResources2::findInnerRes('PictIcon');
    IconFileName = WinApi::getTempPath() + rtR2.FileName;
    rtR2.open();
    PictRes = InShape.AddOLEObject("htmlfile", FileName, LinkToFile, DisplayAsIcon, IconFileName, 0, "Pict");
    InShape.finalize();
}