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

Microsoft Word в Делфи
Днес, в последния работен ден от седмицата, голямата част от деня се засуети над прехвърлянето на данни от Delphi в Word. Тъй като има съмнения, че работата ще продължи реших някои точки, които да работят с Microsoft Word в улавянето на Delphi и в блога си. Напиши мини-креватче (по-специално, че на Excel вече е нещо, което е).

Първо, някои общи точки, които да работят с MS Office в Делфи. И първото нещо, което ще направя - това ще създаде Word.Application обект. Създаден този обект е абсолютно същия начин, както Excel.Application на обект:

използва ComObj; Var Word: вариант; [. ] Процедура CreateWord (конст Вижда: булева); започне Word: = CreateOleObject ( "Word.Application '); Word.Visible: = Вижда; приключи;

Това е достатъчно проста. Тогава ние можем да работим с обекта, както следва:

  1. За да създадете документ на Word от нулата
  2. Отваряне на документа, както и промяна на текста в него, за да получите желаната форма на документа.

Помислете за двата варианта, тъй като и двамата имат както предимства, така и недостатъци.

1. Създайте документ Microsoft Word в Делфи от нулата.

За да създадете нов документ, би трябвало да работи метода за добавяне на събирането на документи, т.е..:

и след тази операция вече започва да работи с документи, отнасящи се до него по име или индекс в колекцията. Можете също така да създадете нов документ от шаблон (* .dot). За да направите това, един и същ метод за добавяне, но с един входен параметър - пътят към шаблонните файлове:

Съгласен съм с вас, за ноктите. И винаги се опитваме просто да се сведе до минимум излишните разходи в развитието на програми. Убеди човек може да бъде, особено когато имате ръцете си "ubezhdalka" под формата на ценоразпис :) Но ако мога само по себе си клиент програма не зависи от закупуването на софтуер - почти невъзможно да се убедят. Един прост пример - в университета. Диванът Университета покупки са централизирани и един-единствен стол върху барабана като какво е необходимо - то просто редовно дарява на университета фонд определен процент от доходите, и винаги има пресен мек и без значение, че е необходимо да се стол този софтуер или не - натрапен balvanku и отидете Комплекти , Катедра изисква нестандартно с програми, например, генериране на списъци на учениците по определени причини (не непременно сексуална) и трябва да се образува един документ, да кажем, на секретаря на Департамента, преподаване на художници и т.н. че те го обработят допълнително, донесе нещо и т.н. Смятате ли, че това, което първото изискване в този случай? Доклад за Word / Excel файл. Само zaiknis от Oo - удуши :).

ZY За връзка към библиотеката - благодарение ogromennoe защото паралелни, само за да се опита да се сприятеля с Лазар GS - е част от библиотеката и полезна само

Alimbek Hiji.

Ето текста на макрос:
[Код]
Под Makros1 ()
"
"Macro Makros1
"
"
С ListGalleries (wdNumberGallery) .ListTemplates (1) .ListLevels (1)
.NumberFormat = "% 1".
.TrailingCharacter = wdTrailingTab
.NumberStyle = wdListNumberStyleArabic
.NumberPosition = CentimetersToPoints (0.63)
.Подравняване = wdListLevelAlignLeft
.TextPosition = CentimetersToPoints (1.27)
.TabPosition = wdUndefined
.ResetOnHigher = 0
.StartAt = 1
С .Font
.Bold = wdUndefined
.Italic = wdUndefined
.Зачертаване = wdUndefined
.Индекс = wdUndefined
.Superscript = wdUndefined
.Сянка = wdUndefined
.Очертайте = wdUndefined
.Emboss = wdUndefined
.Вдлъбнато = wdUndefined
.САМОГЛАВНИ = wdUndefined
.Скрит = wdUndefined
.Долна = wdUndefined
.Цвят = wdUndefined
.Размер = wdUndefined
.Анимация = wdUndefined
.DoubleStrikeThrough = wdUndefined
.Наименование = ""
завършва с
.LinkedStyle = ""
завършва с
ListGalleries (wdNumberGallery) .ListTemplates (1) .name = ""
Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate: = _
ListGalleries (wdNumberGallery) .ListTemplates (1), ContinuePreviousList: = _
False, ApplyTo: = wdListApplyToWholeList, DefaultListBehavior: = _
wdWord10ListBehavior
Selection.TypeText Текст: = "Позиция 1"
Selection.TypeParagraph
Selection.TypeText Текст: = "Точка 2"
Selection.TypeParagraph
Selection.TypeText Текст: = "т.3"
Selection.TypeParagraph
Selection.Range.ListFormat.RemoveNumbers NumberType: = wdNumberParagraph
Selection.TypeText Текст: = "Край на номериран списък"
End Sub
[/ Код]

Извинявам се за глупавият въпрос, но как да се обадя на тази функция в кода си? В смисъл, че аз например трябва да промените реда на няколко места, че е, защото това е необходимо няколко пъти. На първо място, не забележи, че тя не е процедура, мислех, че само отделен отчет по няколко пъти, но след това забелязах, функцията, а не мога да разбера как да се обадя, защото поканата трябва да е след оператора за присвояване.

Microsoft Word в Делфи
Владислав Bazhenov.

И се обади няколко пъти в кода. Функция резултат - булев. Ако текста за замяна е успешно, функцията връща True В противен случай False. Ако не се замени текста е важно или не, поканата, както следва:
започвам
// тук някакъв код
FindAndReplace ( "текст", "Замяна на текст ');
// отново кока тогава си код
FindAndReplace ( "Текст2 '' се заменя text2 ');
приключи;
Или поне така редките ремонти по-нататъшна работа зависи от това дали текстът се заменя или не:
започвам
// тук някакъв код
ако FindAndReplace ( "текст", "Замяна на текст"), след това
FindAndReplace ( "Текст2 '' се заменя text2")
още
ShowMessage ( "Не може да се замени низ" текст "")
приключи;

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

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