Показать сообщение отдельно
Старый 24.02.2009, 16:18   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от kornix Посмотреть сообщение
Пытаюсь воспроизвести это действие в аксапте, и все время вываливается ошибка: "Значение вне диапазона..":

FormFields(1).CheckBox.Value = true;
Аксапте такое не скормить. Вам, наверное, еще не приходилось плотненько COM-ами заниматься? Нужно расписывать отдельными операторами все "точки" оператора VBA (см., например, Визуальная имитация раннего связывания COM-объектов):
X++:
static void Job142(Args _args)
{
    ComWordDocument_RU doc = new ComWordDocument_RU();
    COM docCom, ffs, ff, cb;
    ;

    doc.newFile();
    docCom = doc.getComDocument();

    ffs = docCom.FormFields();
    ffs.Add(docCom.Range(0,0), 71); // 71 = wdFieldFormCheckBox

    // следующие 3 оператора реализуют FormFields(1).CheckBox.Value = true;
    ff = ffs.Item(1);
    cb = ff.CheckBox();
    cb.Value(true); 

    doc.visible(true);
}
За это сообщение автора поблагодарили: kornix (1).