Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменения шрифта в Word [Delphi, Windows]


Scorpio ©   (2006-02-09 13:38:00) 

Добрый день мастера. У меня возникла проблема, необходимо в ворд передать данные, но только так, чтобы в одной строке было написано двумя разными шрифтами, вот исходный код:

    WordApplication1.Documents.Add(EmptyParam,EmptyParam);

    WordFont1.Bold := 1;
    WordFont1.Size := 8;
    WordFont1.Name := 'Arial';
    WordApplication1.Selection.InsertAfter('Серия АА №   ');
    WordApplication1.Selection.Collapse(direction);

    WordFont1.Bold := 0;
    WordFont1.Size := 10;
    myrange.WordFont1.Name := 'Courier New';
    nom := '040000';
    WordApplication1.Selection.InsertAfter(nom);
    WordApplication1.Selection.Collapse(direction);


А он мне пишет эту строку только первым шрифтом, хотя если перейти на следующую строку, то там шрифт уже меняется. Как мне это лечить ??


scorpio   (2006-03-01 10:00:00) [1]

Так весь мой код вверху


umbra   (2006-02-20 17:55:00) [2]

а какой тип у mydoc? Этот пример рассчитан на то, что Вы создаете экземпляр ворд с помощью функции CreateOleObject, добавляете там документ с помощью Documents.Add(или открываете существующий) и присваиваете ссылку на него переменной mydoc. Если же Вы пользуетесь готовым компонентом TWordApplication, то я не уверен, что этот код будет работать.


Scorpio   (2006-02-20 16:40:00) [3]

У меня этот способ не работает

myrange := mydoc.Content;

он этого не понимает.


umbra   (2006-02-10 10:55:00) [4]

можно сделать примерно так. mydoc - документ ворд


var
 myrange, mydoc: variant;
 wordc: integer;
{..................................................................}
 myrange := mydoc.Content;
 wordc := myrange.Words.Count;
 myrange.InsertAfter('Добавляем в конец документа шесть слов');
 myrange.Words[wordc + 5].Bold := true; //слово "шесть" должно стать жирным
 myrange := Unassigned;


YurikGL   (2006-02-09 20:55:00) [5]

Что-то типа
range(...).select
Selection.font....


Scorpio   (2006-02-09 16:52:00) [6]

Это я забыл убрать, ставил эксперементы как было написано в книге, но не работает.


umbra   (2006-02-09 15:05:00) [7]

а что такое myrange?


Наверх

Титульная страница Поиск, карта сайта Написать письмо