Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 66
1

Экспорт текста в word из delphi

19.11.2014, 23:44. Просмотров 3459. Ответов 2
Метки нет (Все метки)

В общем надо что бы после нажатия кнопки все данные экспортировались в word. Без открытия word'a (что бы в папке с программкой появился word'овский файлик для отправки на почту).

Нашёл у вас код для экспорта, но он немного не подходит.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
procedure TGlavForm.Button24Click(Sender: TObject);
 
const
  wdAlignParagraphCenter = 1;
  wdAlignParagraphLeft = 0;
  wdAlignParagraphRight = 2;
var
  wdApp, wdDoc, wdRng, wdTable: Variant;
begin
  try
    wdApp := CreateOleObject('Word.Application');
  except
    ShowMessage('Не удалось запустить MS Word. Действие отменено.');
    Exit;
  end;
 
  //Делаем видимым окно MS Word.
  wdApp.Visible := True;
  //Создаём новый документ.
  wdDoc := wdApp.Documents.Add;
  //Отключение перерисовки окна MS Word. - Для ускорения работы.
  wdApp.ScreenUpdating := False;
  try
    wdRng := wdDoc.Range;
    //1 текст.
    wdRng.InsertBefore('ПРЕДВАРИТЕЛЬНОЕ ОПИСАНИЕ ЗАДАНИЯ (БРИФ)');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := false;
    wdRng.Font.Size := 12;
    //Выравнивание по центру.
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;;
    //Добавляем перевод строки.
    wdRng.InsertAfter(#13#10);
//Формируем новый диапазон непосредственно за текущим диапазоном.
    wdRng.Start := wdRng.End;
    //Сброс параметров параграфа.
    wdRng.ParagraphFormat.Reset;
    //Сброс параметров шрифта.
    wdRng.Font.Reset;
    //Добавляем перевод строки.
    wdRng.InsertAfter(#13#10);
    //2 текст.
    wdRng.InsertBefore('на производство видеоролика');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := True;
    wdRng.Font.Size := 18;
    //Выравнивание.
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.ParagraphFormat.Reset;
    wdRng.Font.Reset;
    //3 текст.
    wdRng.InsertBefore(' Бриф должен включать в себя всю необходимую информацию для работы над проектом.');
    wdRng.InsertBefore('         Бриф заполняется или координируется человеком, ответственным за приём проекта и его оценку на всех этапах разработки. Вся информация, полученная от Клиента, является конфиденциальной и не подлежит разглашению третьим лицам.');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    //4 текст.
    wdRng.InsertBefore('         Если некоторые поля вы считаете не нужными - не заполняйте их.');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    //5 текст.
    wdRng.InsertBefore('         Заранее спасибо!');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
    //6 текст.
    wdRng.InsertBefore('E-mail:                                                 '+Edit9.Text+ #13#10);
    wdRng.InsertBefore('Контактное лицо, должность:        '+Edit8.Text+ #13#10);
    wdRng.InsertBefore('www:                                                    '+Edit7.Text+ #13#10);
    wdRng.InsertBefore('Факс:                                                   '+Edit6.Text+ #13#10);
    wdRng.InsertBefore('Телефон:                                             '+Edit5.Text+ #13#10);
    wdRng.InsertBefore('Срок исполнения:                             '+Edit4.Text+ #13#10);
    wdRng.InsertBefore('Дата заполнения:                              '+Edit3.Text+ #13#10);
    wdRng.InsertBefore('Предполагаемый бюджет:              '+Edit2.Text+ #13#10);
    wdRng.InsertBefore('Клиент:                                               '+Edit1.Text+ #13#10);
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := True;
    wdRng.Font.Size := 11;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
    //7 текст.
    wdRng.InsertBefore('ОБЩИЕ ВОПРОСЫ (необходимы для разработки концепции видеоролика).');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
 
  finally
    //Включение перерисовки окна MS Word.
    wdApp.ScreenUpdating := True;
  end;
Добавлено через 2 часа 38 минут
Разобрался сам!

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
procedure TGlavForm.Button24Click(Sender: TObject);
 
const
  wdAlignParagraphCenter = 1;
  wdAlignParagraphLeft = 0;
  wdAlignParagraphRight = 2;
var
  wdApp, wdDoc, wdRng, wdTable: Variant;
begin
  try
    wdApp := CreateOleObject('Word.Application');
  except
    ShowMessage('Не удалось запустить MS Word. Действие отменено.');
    Exit;
  end;
 
  //Создаём новый документ.
  wdDoc := wdApp.Documents.Add;
  //Отключение перерисовки окна MS Word. - Для ускорения работы.
  wdApp.ScreenUpdating := False;
  try
    wdRng := wdDoc.Range;
 
    //1 текст.
    wdRng.InsertBefore('ПРЕДВАРИТЕЛЬНОЕ ОПИСАНИЕ ЗАДАНИЯ (БРИФ)');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := false;
    wdRng.Font.Size := 12;
    //Выравнивание по центру.
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;;
 
    //Добавляем перевод строки.
    wdRng.InsertAfter(#13#10);
//Формируем новый диапазон непосредственно за текущим диапазоном.
    wdRng.Start := wdRng.End;
    //Сброс параметров параграфа.
    wdRng.ParagraphFormat.Reset;
    //Сброс параметров шрифта.
    wdRng.Font.Reset;
    //Добавляем перевод строки.
    wdRng.InsertAfter(#13#10);
    //2 текст.
    wdRng.InsertBefore('на производство видеоролика');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := True;
    wdRng.Font.Size := 18;
    //Выравнивание.
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.ParagraphFormat.Reset;
    wdRng.Font.Reset;
    //3 текст.
    wdRng.InsertBefore(' Бриф должен включать в себя всю необходимую информацию для работы над проектом.');
    wdRng.InsertBefore('         Бриф заполняется или координируется человеком, ответственным за приём проекта и его оценку на всех этапах разработки. Вся информация, полученная от Клиента, является конфиденциальной и не подлежит разглашению третьим лицам.');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    //4 текст.
    wdRng.InsertBefore('         Если некоторые поля вы считаете не нужными - не заполняйте их.');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    //5 текст.
    wdRng.InsertBefore('         Заранее спасибо!');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wdRng.InsertAfter(#13#10#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
    //6 текст.
    wdRng.InsertBefore('E-mail:                                                 '+Edit9.Text+ #13#10);
    wdRng.InsertBefore('Контактное лицо, должность:        '+Edit8.Text+ #13#10);
    wdRng.InsertBefore('www:                                                    '+Edit7.Text+ #13#10);
    wdRng.InsertBefore('Факс:                                                   '+Edit6.Text+ #13#10);
    wdRng.InsertBefore('Телефон:                                             '+Edit5.Text+ #13#10);
    wdRng.InsertBefore('Срок исполнения:                             '+Edit4.Text+ #13#10);
    wdRng.InsertBefore('Дата заполнения:                              '+Edit3.Text+ #13#10);
    wdRng.InsertBefore('Предполагаемый бюджет:              '+Edit2.Text+ #13#10);
    wdRng.InsertBefore('Клиент:                                               '+Edit1.Text+ #13#10);
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := True;
    wdRng.Font.Size := 11;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
    //7 текст.
    wdRng.InsertBefore('ОБЩИЕ ВОПРОСЫ (необходимы для разработки концепции видеоролика).');
    wdRng.Font.Name := 'Times New Roman';
    wdRng.Font.Bold := False;
    wdRng.Font.Size := 11;
    wdRng.ParagraphFormat.Alignment := wdAlignParagraphCenter;
    wdRng.InsertAfter(#13#10);
    wdRng.Start := wdRng.End;
    wdRng.Font.Reset;
 
  finally
    //Включение перерисовки окна MS Word.
    wdApp.ScreenUpdating := True;
    wdApp.ActiveDocument.SaveAs(GetCurrentDir + '\file\' + Edit1.Text + '.doc\');
    wdApp.ActiveDocument.Close;
    wdApp.Quit;
  end;
 
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2014, 23:44
Ответы с готовыми решениями:

Экспорт из БД в Word в Delphi
Для создания отчёта в Word создал шаблон документа Shablon.doc сделал в нём закладки. Написал в...

Экспорт из Delphi в Word
Имеется таблица в Delphi (Stringgrid12) и такая же таблица в документе Word с шапкой (первой...

StringGrid->Word экспорт. Delphi
Здравствуйте, столкнулась с задачей: В пункте "Экспорт результатов» главного меню запрограммируйте...

Экспорт данных из Delphi в Word
Подскажите пожалуйста где можно почитать материалы на тему экспорта данных из Delphi в Word

2
70 / 70 / 23
Регистрация: 14.10.2013
Сообщений: 528
20.11.2014, 09:43 2
Цитата Сообщение от Артемка123 Посмотреть сообщение
wdApp.ActiveDocument.SaveAs(GetCurrentDir + '\file\' + Edit1.Text + '.doc\');
Здесь может быть ошибка, т.к. GetCurrentDir не всегда может возвращать папку с программой. лучше использовать ExtractFilePath (ParamStr(0)).
1
0 / 0 / 0
Регистрация: 17.11.2014
Сообщений: 66
22.11.2014, 20:13  [ТС] 3
FaTaL-CS, спасибо, учту ��
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2014, 20:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Экспорт и импорт между Delphi и Word
Привет) Объясните подробно, пожалуйста, как осуществить экспорт и импорт между Delphi и Word. ...

Замена текста в Word из Delphi
Здравствуйте Требуется заменить текст в ворде на текст из делфи. Делаю так (процедура на кнопке):...

Экспорт в word
Я зашел в тупик! Мне необходимо открывать шаблон при нажатии на кнопку, но он будет открываться и...

Экспорт в Word
Здравствуйте! Кто нибудь знает, как сделать экспорт данных из Delphi в Word, используя при этом...

Экспорт в Word
Подскажите как сделать экспорт в Word. У меня есть представление в котором хранятся почтовые...

Экспорт в Word
В общем, по нажатию кнопки производится экспорт в Word таблицы находящейся в dbgrid1. procedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.