Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка шрифта в Word из программы 
V
    Опции темы
Нитонисе
Дата 7.1.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Создаю в ворде отчет, нужно задать шрифт, вчастности его размер (хотя интересует и как сам шрифт задается и его различные характеристики). Отчет создаю на основе компонентов WordApplication с палитры Office2k.
PM MAIL   Вверх
Damp1L
Дата 8.1.2010, 11:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Это вроде то? Правда код на делфи, поправишь сам =)
Код

MsWord.Selection.Font.Bold := True; // Установить жирный шрифт
MsWord.Selection.Font.Size := 12; // установить 12 кегль
MsWord.Selection.TypeText('Текст');

PM MAIL   Вверх
Нитонисе
Дата 8.1.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Damp1L @  8.1.2010,  11:23 Найти цитируемый пост)
Это вроде то? Правда код на делфи, поправишь сам =)

На С++ это было бы равнозначно
Код

WordApplication1->Selection->Font->set_Size(10);

Но этот код не работает.
PM MAIL   Вверх
Данкинг
Дата 8.1.2010, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Нитонисе @  8.1.2010,  12:29 Найти цитируемый пост)
set_Size

 smile Ты уверен в правильности оператора?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Damp1L
Дата 8.1.2010, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Ага, откуда ты там set нашёл?
PM MAIL   Вверх
Нитонисе
Дата 8.1.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Данкинг @  8.1.2010,  13:05 Найти цитируемый пост)
Ты уверен в правильности оператора?

А точно!
Правильный вариант вот такой - 
Код

WordApplication1->Selection->Font->Size = 10;

Интересно а что тогда делает мой предыдущий вариант?...

Тока тут еще есть один вопрос, я уже и тему такую создавал. Созданная надпись в ворде подсвечена. Как програмно снять выделение?
PM MAIL   Вверх
Данкинг
Дата 8.1.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Нитонисе @  8.1.2010,  13:48 Найти цитируемый пост)
Интересно а что тогда делает мой предыдущий вариант?...

Глючит, видимо, что ещё он может делать. smile 

Цитата(Нитонисе @  8.1.2010,  13:48 Найти цитируемый пост)
Как програмно снять выделение? 

Не знаю. Но посмотри, как сам Word это делает. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Нитонисе
Дата 8.1.2010, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Данкинг @  8.1.2010,  13:57 Найти цитируемый пост)
Не знаю. Но посмотри, как сам Word это делает.

Всмысле?
PM MAIL   Вверх
Данкинг
Дата 8.1.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



В смысле, "Сервис - Макрос - Начать запись". Потом делаешь, что тебе нужно. А потом нажимаешь <ALT>+<F11>, и открывается окно VBA, где ты можешь посмотреть код записанного макроса. Нечто вроде:
Код

Sub Макрос3()
'
' Макрос3 Макрос
' Макрос записан 08.01.2010 Новоясеневский маньяк
'
    With Selection.ParagraphFormat
        With .Shading
            .Texture = wdTextureNone
            .ForegroundPatternColor = wdColorAutomatic
            .BackgroundPatternColor = wdColorAutomatic
        End With
        .Borders(wdBorderLeft).LineStyle = wdLineStyleNone
        .Borders(wdBorderRight).LineStyle = wdLineStyleNone
        .Borders(wdBorderTop).LineStyle = wdLineStyleNone
        .Borders(wdBorderBottom).LineStyle = wdLineStyleNone
        With .Borders
            .DistanceFromTop = 1
            .DistanceFromLeft = 4
            .DistanceFromBottom = 1
            .DistanceFromRight = 4
            .Shadow = False
        End With
    End With
    With Options
        .DefaultBorderLineStyle = wdLineStyleSingle
        .DefaultBorderLineWidth = wdLineWidth050pt
        .DefaultBorderColor = wdColorAutomatic
    End With
End Sub

Осталось теперь подогнать макрос под Билдер. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Нитонисе
Дата 8.1.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Данкинг @  8.1.2010,  14:26 Найти цитируемый пост)
Осталось теперь подогнать макрос под Билдер.

У меня почему-то по нажатии Alt+F11 открылось пустое окно визуал бэйсика. Такого кода там нет как у тебя. А это код снятия выделения со строки? Ничерта не понять.

Вот это что ли отвечает за выделение?
Код

With Selection.ParagraphFormat
        With .Shading
            .Texture = wdTextureNone
            .ForegroundPatternColor = wdColorAutomatic
            .BackgroundPatternColor = wdColorAutomatic
        End With

PM MAIL   Вверх
Данкинг
Дата 8.1.2010, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Нитонисе @  8.1.2010,  14:43 Найти цитируемый пост)
У меня почему-то по нажатии Alt+F11 открылось пустое окно визуал бэйсика. 

Запись макроса делал? Остановку записи не забыл?

Добавлено через 28 секунд
Цитата(Нитонисе @  8.1.2010,  14:43 Найти цитируемый пост)
Вот это что ли отвечает за выделение?

Похоже, судя по операторам.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Нитонисе
Дата 8.1.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Данкинг @  8.1.2010,  15:24 Найти цитируемый пост)
Запись макроса делал? Остановку записи не забыл?

Ага, открывается просто редактор визуала бэйсика и там пустое окно редактирования.
Цитата(Данкинг @  8.1.2010,  15:24 Найти цитируемый пост)
Похоже, судя по операторам.

Ну и как это можно перевести в Билдер?
PM MAIL   Вверх
Нитонисе
Дата 8.1.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Разобрался как записывать макросы. Осталось понять как это трансформировать в билдер.
PM MAIL   Вверх
Данкинг
Дата 8.1.2010, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Видимо, WordApplication1->Selection->ParagraphFormat->Shading->Texture = wdTextureNone


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Нитонисе
Дата 8.1.2010, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Неа. Так не работает. Решил снять выделение сдвиганием курсора. А как его двигать - подсказали в соседней ветке.
Код

WordApplication1->Selection->MoveRight(TVariant(wdCharacter), TVariant(1), EmptyParam);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1059 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.