Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Word + список


Автор: race1 11.2.2005, 14:34
есть задача - печатать в ворде список. я сделал свой стиль, теперь хочу назначить этому стилу формат списка. делаю как в макросе на басике - получаю listlevel:
Код
MyList = MSWord.Exec (PropertyGet("ListGalleries")).
 Exec (Function("Item") << wdNumberGallery).
 Exec (PropertyGet("ListTemplates")).
 Exec (Function("Item") << 1).
 Exec (PropertyGet("ListLevels")).
 Exec (Function("Item") << 1);

далее связываем со своим стилем:
Код
MyAnswersList.Exec (PropertySet("LinkedStyle") << "_My style");

далее связываем стиль со списком:
Код
MyStyle.Exec (Procedure("LinkToListTemplate")
 << MSWord.Exec (PropertyGet("ListGalleries")).
      Exec (Function("Item") << wdNumberGallery).
      Exec (PropertyGet("ListTemplates")).
      Exec (Function("Item") << 2))
 << 1;

но когда в форде на абзаце со стилем _My style я нажимаю правой кнопкой, выбираю "список", то прямоугольник стоит на последнем эл-те в галерее списков, т.е. связи с первым эл-м нет smile. но ведь я связывался с первым эл-м! это нужно для изменения св-ва списка - иногда его нужно начинать сначала. в макросе это делается заданием св-ва StartAt в единицу у стиля списка под нужным номером


Автор: <Spawn> 13.2.2005, 07:41
Я не понял - ты в Basiс - е пишешь чтоль? Если так, то тебе в другой раздел, иначе покажи Дельфовый код.

Автор: race1 21.2.2005, 18:19
<Spawn>
это билдер, практически дельфи. их часто в одном разделе форума помещают, а тут разделение smile

Код

MyList = MSWord.ListGalleries.Item(wdNumberGallery).ListTemplates.Item(1).ListLevels.Item(1);
...
MyAnswersList.LinkedStyle := "_My style";
...
MyStyle.LinkToListTemplate(MSWord.ListGalleries.Item(wdNumberGallery).ListTemplates.Item(1), (1);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)