В общем надо что бы после нажатия кнопки все данные экспортировались в 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; |
|