Износът от базата данни в Word
Тази статия дава примери за това как да се- маси
- отметки
- колонтитули
- надписи
- шрифтове
- стрелка
Аз няма да се рови в характеристиките на края и началото на свързване, защото Информация по този въпрос вече.
Така че, предизвикателството е да се изнесе някои маса в Word. Дори и така, предизвикателството е да се генерират сложни документи с на заглавки, маси, позиции и т.н. и т.н.
Има две големи начини да получите информация за интерфейса Word.- За да научите как да се направи нещо от Delphi в Word-е трябва да е в Word-е отидете в Инструменти / Макро / Запис на нов. След това се уверете в Word-е това, което трябва да се направи от Delphi и приключите със записването на макроса. Накрая Инструменти / Макро / макроси. изберете Запис. Промяна и да видим как тя работи. След pervod VBA синтаксис в Делфи синтаксис е просто и лесно.
- Друг добър инструмент за придобиване на знания са тип TWordApplication компоненти. Ние го хвърлят върху формата, в който и да е изявление написали WordApplication1. Натиснете Ctrl + бар пространство и прочетете внимателно. Смисълът на наличните функции и характеристики обикновено се разбира интуитивно.
Да, още един, както казах, най-логичният начин - с помощта на VBA, но нещо не беше в състояние да го използвате, за да ме ...
Сега малко теория, произведени тези начини ... Word разполага с колекция от документи
Във всяка колекция има брои имущество - сумата, като по този начин w1.Documents.count - броят на документи.
С помощта на променлив тип olevariant (в този случай, VR) понякога се изисква, а понякога не.
Документът има своя собствена колекция:- букви (знаци) Сега можете да получите достъп до
- Но на масата, така че можете да изберете втория последната колона на таблицата.
- параграфи
- фигури
И все пак има полезни предмети избор - избраната област и гама - от порядъка и изберете една и съща функция - за да изберете. Може да изберете колона маса (отново W1.ActiveDocument.Tables.Item (W1.ActiveDocument.Tables.Count) .Columns.Item (2) .Изберете), писмо, кръг, точка, и т.н. ...
Освен това, документът за изход трябва да има заглавна страница, на която е написан текст, на втора страница е заглавието, което също е написан текст. Освен това, има два начина как да го приложат.
- Без помощта на шаблон.
Създаване на нов документ, който създава колонтитули надписи и т.н.
По този начин не е необходимо да се използва, тъй като на различни компютри първоначално може да са различни страници настройки, шрифтове, параграфи и красиво оформен документ на вашия компютър може да изглежда ужасно, от друга. Можете, разбира се, да се сложи всичко необходимо софтуер конфигурация, но на първо място, просто не uchtesh На второ място - по-големи спирачки и много код.
- в надписа на първа страница обекта, за да направи текста
- Отиди до края на документа
- Отиди в заглавката
- обект на надписа в долната част на страницата, за да направи текста
- се върнете към втора страница
Между другото, в допълнение към обекти на "Надпис" може да бъде по-ефективно да се използват маркери. Какво трябва да знаете как да се работи с тях, е достатъчно да се запише подходящия макрос, и например, изберете текста, между първия и втория раздел, можете: Между другото, ако някой намери красиво решение без използването на променливи OleVariant - otpishite ми сапун.
Отпечатайте данните от базата данни в документ, трябва или да използвате сливане, или по ред. За да обедините кодът изглежда по следния начин: Човек, който знае основите на бази данни могат лесно да конвертирате този код, за да отговарят на вашите нужди, като промените низ връзка и заявка.
За прогресивен изход, аз използвах процедурата съм създал TableExport (DataSet: TDataSet; дял, FlagText: низ), който е показано в примера. Тя предава данните, маса с глава и текст параметър FlagText. Ако тя е '' цялата таблица се изнася. В противен случай, тя изнася само тези записи, в които последната стойност поле е FlagText. Това се прави с цел да се получат проби, които отдавна се изчисляват, че може да се разпространи в няколко таблици в доклада.
Тема, ширината на колоната, и дали се показва поле, определено от сферата на следните параметри Между другото, в този пример, данните се първо изхвърля в Word, и след това се превръща в една таблица команда.
Сега имаме някои полезни функции: Ако използвате OleContainer, а след това не вреди ще бъде от типа на екип, който отстранява съответните менюта, които обикновено прелитат формата.
Ако работите през CreateOleObject, е да се получи стойността на константите VisualBasic, Delphi, които по принцип не разбират, че е необходимо да се напише макрос вътре MsgBox (nuzhnaya_konstanta). След това тя ще се покаже своята цифрова стойност на нещо в Делфи и използване.
Сега донесе кода на програмата
Ако някой види в тази статия са си номера, които съм описани тук, моля, не се обиждайте. )
Свързани статии