monsoon

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору int23 Я пока так и делаю через xlReport1->MacroAfter="Module1.<имя макроса>", но в отчет переносится макрос после выполнения в шаблоне. При формировании отчета из программы, сообщение о том, что книга содержит макрос не выводится, а вот при открытии отчета вне программы выдает его. Отчеты отсылаются клиентам и объяснять каждому, что можно отключить макрос, можно не отключать - замучаешься. Как сделать, чтобы в шаблоне остался макрос, а в отчете удалился, такого я не нашел. В Tips & Tricks 004 есть пример для Delphi по созданию шаблона в run-time procedure TForm1.xlReport1DataSources0BeforeDataTransfer(DataSource: TxlDataSource); var ISheet: IxlWorksheet; IRange, Cell1, Cell2: IxlRange; Fields: TFields; C1, C2: string; i, RowCount: integer; begin Fields := DataSource.DataSet.Fields; IRange := DataSource.IRange; IRange.Cells.Item[2, 1].Value := 'colsfit'; ... и т.д. Как объявить в builder Irange? Пробовал Xlreport::IxlRange IRange; и OleVariant IRange; // IRange=DataSource->IRange; Xlreport::IxlRange IRange = DataSource->IRange; Все эти объявления, насколько помню, проходят без ошибки, а вот как только доходит до изменения ячейки IRange->Cells->Item[2,1]->Value="deletecolumn"; выскакивает ошибка. |