ПредишенСледващото

Износът от базата данни в Word

Тази статия дава примери за това как да се
  • маси
  • отметки
  • колонтитули
  • надписи
  • шрифтове
  • стрелка

Аз няма да се рови в характеристиките на края и началото на свързване, защото Информация по този въпрос вече.

Така че, предизвикателството е да се изнесе някои маса в Word. Дори и така, предизвикателството е да се генерират сложни документи с на заглавки, маси, позиции и т.н. и т.н.

Има две големи начини да получите информация за интерфейса Word.
  1. За да научите как да се направи нещо от Delphi в Word-е трябва да е в Word-е отидете в Инструменти / Макро / Запис на нов. След това се уверете в Word-е това, което трябва да се направи от Delphi и приключите със записването на макроса. Накрая Инструменти / Макро / макроси. изберете Запис. Промяна и да видим как тя работи. След pervod VBA синтаксис в Делфи синтаксис е просто и лесно.
  2. Друг добър инструмент за придобиване на знания са тип TWordApplication компоненти. Ние го хвърлят върху формата, в който и да е изявление написали WordApplication1. Натиснете Ctrl + бар пространство и прочетете внимателно. Смисълът на наличните функции и характеристики обикновено се разбира интуитивно.

Да, още един, както казах, най-логичният начин - с помощта на VBA, но нещо не беше в състояние да го използвате, за да ме ...

Сега малко теория, произведени тези начини ... Word разполага с колекция от документи

Във всяка колекция има брои имущество - сумата, като по този начин w1.Documents.count - броят на документи.

С помощта на променлив тип olevariant (в този случай, VR) понякога се изисква, а понякога не.

Документът има своя собствена колекция:
  1. букви (знаци) Сега можете да получите достъп до
  2. Но на масата, така че можете да изберете втория последната колона на таблицата.
  3. параграфи
  4. фигури
Ами .... и т.н.

И все пак има полезни предмети избор - избраната област и гама - от порядъка и изберете една и съща функция - за да изберете. Може да изберете колона маса (отново W1.ActiveDocument.Tables.Item (W1.ActiveDocument.Tables.Count) .Columns.Item (2) .Изберете), писмо, кръг, точка, и т.н. ...

Защо е тази структура - това няма значение ... това е - само един пример. Конкретна цел - да изнася жителите улица Ахметов и Flyers.
Освен това, документът за изход трябва да има заглавна страница, на която е написан текст, на втора страница е заглавието, което също е написан текст. Освен това, има два начина как да го приложат.
  1. Без помощта на шаблон.

Създаване на нов документ, който създава колонтитули надписи и т.н.
По този начин не е необходимо да се използва, тъй като на различни компютри първоначално може да са различни страници настройки, шрифтове, параграфи и красиво оформен документ на вашия компютър може да изглежда ужасно, от друга. Можете, разбира се, да се сложи всичко необходимо софтуер конфигурация, но на първо място, просто не uchtesh На второ място - по-големи спирачки и много код.

  • С помощта на шаблон.

    Долната линия е, че предварително изготвен документ vordovsky, който се използва като шаблон. В този случай, на шаблона на точното място в центъра на първата страница сложи типа етикет обект в котка ни излага на желания шрифт и подравняване. Също така се уверете почивка секция. На втората страница, също се показва заглавието добавя обект. В него ще се вписва името на документа. На следващо място, ние правим макро, в който се повтаря действията, които трябва да се направи от Delphi.
    1. в надписа на първа страница обекта, за да направи текста
    2. Отиди до края на документа
    3. Отиди в заглавката
    4. обект на надписа в долната част на страницата, за да направи текста
    5. се върнете към втора страница
  • Ние получаваме следния макрос: Ако конвертирате в Delphi код, получаваме Така че ние формира заглавна страница и долната част на страницата.

    Между другото, в допълнение към обекти на "Надпис" може да бъде по-ефективно да се използват маркери. Какво трябва да знаете как да се работи с тях, е достатъчно да се запише подходящия макрос, и например, изберете текста, между първия и втория раздел, можете: Между другото, ако някой намери красиво решение без използването на променливи OleVariant - otpishite ми сапун.

    Отпечатайте данните от базата данни в документ, трябва или да използвате сливане, или по ред. За да обедините кодът изглежда по следния начин: Човек, който знае основите на бази данни могат лесно да конвертирате този код, за да отговарят на вашите нужди, като промените низ връзка и заявка.

    За прогресивен изход, аз използвах процедурата съм създал TableExport (DataSet: TDataSet; дял, FlagText: низ), който е показано в примера. Тя предава данните, маса с глава и текст параметър FlagText. Ако тя е '' цялата таблица се изнася. В противен случай, тя изнася само тези записи, в които последната стойност поле е FlagText. Това се прави с цел да се получат проби, които отдавна се изчисляват, че може да се разпространи в няколко таблици в доклада.
    Тема, ширината на колоната, и дали се показва поле, определено от сферата на следните параметри Между другото, в този пример, данните се първо изхвърля в Word, и след това се превръща в една таблица команда.

    Сега имаме някои полезни функции: Ако използвате OleContainer, а след това не вреди ще бъде от типа на екип, който отстранява съответните менюта, които обикновено прелитат формата.
    Ако работите през CreateOleObject, е да се получи стойността на константите VisualBasic, Delphi, които по принцип не разбират, че е необходимо да се напише макрос вътре MsgBox (nuzhnaya_konstanta). След това тя ще се покаже своята цифрова стойност на нещо в Делфи и използване.

    Сега донесе кода на програмата

    Ако някой види в тази статия са си номера, които съм описани тук, моля, не се обиждайте. )

    Свързани статии

    Подкрепете проекта - споделете линка, благодаря!