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

Выделить жирным кусок текста в MsWord.

15.08.2011, 21:01. Просмотров 3823. Ответов 2
Метки нет (Все метки)


Вообщем создаю таблицу в MsWord 2007.
Дальше записываю в её ячейку текст. Так вот часть этого текста должна быть жирная,
а другая часть обычная.
Как сделать невразумлю что-то. Помогите, пожалуйста:

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
procedure TMainFm.GenerateLabels;
var
  wrd, doc, rgn, tbl: Variant;
  i, RowCount: Integer;
begin
  wrd := CreateOleObject('Word.Application');
  try
{ добавить документ }
    doc := wrd.Documents.Add;
 
{ поля страницы, значения подбираются эмпирическим путем }
    doc.PageSetup.TopMargin    := 3;
    doc.PageSetup.BottomMargin := 3;
    doc.PageSetup.LeftMargin   := 14;
    doc.PageSetup.RightMargin  := 14;
 
{ выбрать область }
    rgn := doc.Paragraphs.Item(1).Range;
 
{ добавить таблицу }
    RowCount := 4; //dm.RekvizitiADOTable.RecordCount div 3 + 1;
    tbl := doc.Tables.Add(rgn, RowCount, 3);
    tbl.Rows.Height := 103;
 
    for i := 1 to RowCount do
    begin
      tbl.Cell(i, 1).Range.Font.Name := 'Calibri';
      tbl.Cell(i, 1).Range.Font.Size := 11;
 
      tbl.Cell(i, 1).Range.Font.Bold := True;
      tbl.Cell(i, 1).Range.InsertAfter('Кому: ');
      tbl.Cell(i, 1).Range.Font.Bold := False;
      tbl.Cell(i, 1).Range.InsertAfter(AnsiUpperCase('ОАО "Идите НафиК"') + #13);
 
      tbl.Cell(i, 1).Range.Font.Bold := True;
      tbl.Cell(i, 1).Range.InsertAfter('Куда: ');
      tbl.Cell(i, 1).Range.Font.Bold := False;
      tbl.Cell(i, 1).Range.InsertAfter(AnsiUpperCase('Далеко - далеко...') + #13);
    end;
 
{ показать MsWord }
    wrd.Visible := True;
  except
    wrd.Quit;
    wrd := UnAssigned;
  end;
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.08.2011, 21:01
Ответы с готовыми решениями:

Как сделать отдельный кусок текста жирным?
То есть, как сделать чтобы было вот так например. Hello Happy World. И ещё как изменить цвет...

В верстке совместимо с бутстрапом выделить большой кусок текста
Всем привет, Подскажите, пожалуйста, как можно в верстке совместимо с бутстрапом выделить большой...

Выделить категорию жирным шрифтом
как сделать глав категорию жирным, и шрифты менять к примеру параметры font-size: 1.4em; color:...

Выделить жирным все номера телефонов
Используя регулярные выражения в PHP, необходимо выполнить обработку строки: ввести исходную строку...

__________________
Помогаю в написании студенческих работ здесь.
2
6228 / 3529 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
15.08.2011, 22:49 2
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
const
  wdWord8TableBehavior = 0;
  wdWord9TableBehavior = 1;
  wdAutoFitFixed = 0;
  wdAutoFitContent = 1;
  wdAutoFitWindow = 2;
  { Цвета }
  wdColorAutomatic = -16777216;
  wdColorBlack = 0;
  wdColorDarkRed = 128;
  wdColorRed = 255;
  wdColorDarkGreen = 13056;
  wdColorOliveGreen = 13107;
  wdColorBrown = 13209;
  wdColorOrange = 26367;
  wdColorGreen = 32768;
  wdColorDarkYellow = 32896;
  wdColorLightOrange = 39423;
  wdColorLime = 52377;
  wdColorGold = 52479;
  wdColorBrightGreen = 65280;
  wdColorYellow = 65535;
  wdColorGray95 = 789516;
  wdColorGray90 = 1644825;
  wdColorGray875 = 2105376;
  wdColorGray85 = 2500134;
  wdColorGray80 = 3355443;
  wdColorGray75 = 4210752;
  wdColorGray70 = 5000268;
  wdColorGray65 = 5855577;
  wdColorGray625 = 6316128;
  wdColorDarkTeal = 6697728;
  wdColorPlum = 6697881;
  wdColorGray60 = 6710886;
  wdColorSeaGreen = 6723891;
  wdColorGray55 = 7566195;
  wdColorDarkBlue = 8388608;
  wdColorViolet = 8388736;
  wdColorTeal = 8421376;
  wdColorGray50 = 8421504;
  wdColorGray45 = 9211020;
  wdColorIndigo = 10040115;
  wdColorBlueGray = 10053222;
  wdColorGray40 = 10066329;
  wdColorTan = 10079487;
  wdColorLightYellow = 10092543;
  wdColorGray375 = 10526880;
  wdColorGray35 = 10921638;
  wdColorGray30 = 11776947;
  wdColorGray25 = 12632256;
  wdColorRose = 13408767;
  wdColorAqua = 13421619;
  wdColorGray20 = 13421772;
  wdColorLightGreen = 13434828;
  wdColorGray15 = 14277081;
  wdColorGray125 = 14737632;
  wdColorGray10 = 15132390;
  wdColorGray05 = 15987699;
  wdColorBlue = 16711680;
  wdColorPink = 16711935;
  wdColorLightBlue = 16737843;
  wdColorLavender = 16751052;
  wdColorSkyBlue = 16763904;
  wdColorPaleBlue = 16764057;
  wdColorTurquoise = 16776960;
  wdColorLightTurquoise = 16777164;
  wdColorWhite = 16777215;
  wdToggle = 9999998;
var
  application: Variant;
  document: Variant;
  table: Variant;
begin
  application := CreateOleObject('Word.Application');
  application.Documents.Add;
  document := application.ActiveDocument;
  table := document.Tables.Add(application.Selection.Range, 4, 3, wdWord9TableBehavior, wdAutoFitFixed);
  table.Cell(1, 1).Range.Text := '123';
  table.Cell(1, 1).Range.Font.Bold := True;
  table.Cell(1, 2).Range.Text := '123';
  //первый сивмол жирный
  table.Cell(1, 2).Range.Characters.Item(1).Font.Bold := wdToggle;
  //задаем цвет второго символа
  table.Cell(1, 2).Range.Characters.Item(2).Font.Color := wdColorBlueGray;
  //размер второго символа
  table.Cell(1, 2).Range.Characters.Item(2).Font.Size := 15;
  //размер третьего символа
  table.Cell(1, 2).Range.Characters.Item(3).Font.Size := 17;
  //цвет третьего символа
  table.Cell(1, 2).Range.Characters.Item(3).Font.Color := wdColorRose;
  //третий символ жирный
  table.Cell(1, 2).Range.Characters.Item(3).Font.Bold := wdToggle;
  application.Visible := True;
end;
1
14 / 14 / 2
Регистрация: 01.09.2010
Сообщений: 287
15.08.2011, 23:34  [ТС] 3
Цитата Сообщение от Петррр Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
  table.Cell(1, 1).Range.Text := '123';
  table.Cell(1, 1).Range.Font.Bold := True;
  table.Cell(1, 2).Range.Text := '123';
  //первый сивмол жирный
  table.Cell(1, 2).Range.Characters.Item(1).Font.Bold := wdToggle;
  //задаем цвет второго символа
  table.Cell(1, 2).Range.Characters.Item(2).Font.Color := wdColorBlueGray;
  //размер второго символа
  table.Cell(1, 2).Range.Characters.Item(2).Font.Size := 15;
  //размер третьего символа
  table.Cell(1, 2).Range.Characters.Item(3).Font.Size := 17;
  //цвет третьего символа
  table.Cell(1, 2).Range.Characters.Item(3).Font.Color := wdColorRose;
  //третий символ жирный
  table.Cell(1, 2).Range.Characters.Item(3).Font.Bold := wdToggle;
  application.Visible := True;
end;
А как слово целиком сделать жирным ? Конечно большое спасибо за пример,
но у меня слова довольно длинные и я бы не хотел посимвольно их форматировать.


Добавлено через 10 минут
Цитата Сообщение от Петррр Посмотреть сообщение
...
Хотя и за этот пример ОГРОМНОЕ СПАСИБО !!!
Но если Вы знаете как сделать жирным слово целиком, а не посимвольно, и расскажите
мне об этом, я буду просто очень признателен, а то я сегодня столько времени
убил на 2 строчки кода ((
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2011, 23:34

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

Выделить строку в ListView жирным шрифтом
Здравствуйте!Возможно ли выделить строку в ListView жирным шрифтом. Вот код кнопки которая...

Активный пункт меню выделить жирным
Есть меню на сайте: <div class="menuItem"> Главная </div> <div...

В файле выделить текст жирным, курсивом, подчеркнутым
возможно?

Как выделить строку в RichEdit жирным шрифтом
Здравствуйте. Как оптимальнее всего написать на Делфи следующее: RichEdit.Lines становится...


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

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

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