Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Word, регистр символов 
:(
    Опции темы
Stereotip
  Дата 9.8.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Необходимо из Дельфи в ворд загнать в определенные ячейки (шапку таблицы) разные названия полей, в которые будут входить как верхний так и нижний регистр, а так же символы.
Остальная таблицы (все что после шапка) это экспорт StringGrid.

Т.е мне надо экспортировать в ворд stringgrid, но шапку полученной таблице сделать свою, так как в ней будут такие вещи как: м в степени 2 и т.д.
Так же перед таблицей надо будет вставить: Таблица 1. - название.

После таблицы надо будет вставить еще две других. Документ на выходе делжен будет содержать аж 3 разных таблицы.

Сам экспорт в ворд я сделал.
Мне надо понять, как теперь в вор добавить запись с верхним и нижним регистром.

Вот код:

Код

procedure TForm1.btn4Click(Sender: TObject);
var
  W, Table: Variant;
  Row, Col, i, j: Integer;
begin
// создаем word
  W := CreateOleObject('Word.Application'); 
  W.Documents.Add;

//Создаем таблицу

  W.ActiveDocument.Tables.Add(W.ActiveDocument.Range,
  Grid.RowCount, Grid.ColCount-8);
  Table := W.ActiveDocument.Tables.Item(1);

//прорисовываем сетку таблицы (В 2007 офисе она почему-то сразу не хочет прорисовываться)
  Table.Style := 'Сетка таблицы';

//Загоняем определенные ячейки из стринггрида

  for i := 1 to Grid.RowCount - 1 do
    for j := 0 to Grid.ColCount - 9 do
    begin
      Table.Cell(i + 1, j + 1).Range.Text := Grid.Cells[j, i];
//выставляем шрифт
      Table.Cell(i + 1, j + 1).Range.Font.name:='ISOCPEUR';
//Размер шрифта
      Table.Cell(i + 1, j + 1).Range.Font.size:=11;
//Делаем наклонный
      Table.Cell(i + 1, j + 1).Range.Font.italic := 2;
      end;
// тут я уже пытаюсь эксперементировать, заношу в шапку таблицы (ячейка 1,1) слово мля. Все работает, но как ввести туда нечто такого: Fg м3, где g - нижний регистр, а 3 - степень, верхний регистр.
  Table.Cell(1, 1).Range.Text := 'Мля';

  W.Visible := True;
end;


Так же надо выровнять данную таблицу по ширине окна например...


 ! 
Rrader
Stereotip, ознакомьтесь с правилами форума. Как правильно создавать темы и т.п.


Это сообщение отредактировал(а) Rrader - 9.8.2009, 14:06
PM MAIL   Вверх
Данкинг
Дата 9.8.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Stereotip @  9.8.2009,  13:09 Найти цитируемый пост)
Мне надо понять, как теперь в вор добавить запись с верхним и нижним регистром.

Посмотри по макросам, как это делает сам Ворд. Что-то вроде "Selection.Font.Superscript = wdToggle".


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


Новичок



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

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



Данкинг, 


ВОт это надо сделать напишите как!
// тут я уже пытаюсь эксперементировать, заношу в шапку таблицы (ячейка 1,1) слово ТЕКСТ. Все работает, но как ввести туда нечто такого: Fg м3, где g - нижний регистр, а 3 - степень, верхний регистр.
Table.Cell(1, 1).Range.Text := 'ТЕСТ';

Это сообщение отредактировал(а) Stereotip - 11.8.2009, 19:32
PM MAIL   Вверх
volvo877
Дата 11.8.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



Цитата(Stereotip @  11.8.2009,  19:31 Найти цитируемый пост)
ВОт это надо сделать напишите как!

Если "в лоб" - то так:
Код

  Table.Cell(1, 1).Range.Select;
  s := 'F';
  W.Selection.TypeText(s);
  W.Selection.Font.Subscript := wdToggle; // Устанавливаем subscript
  s := 'g';
  W.Selection.TypeText(s);
  W.Selection.Font.Subscript := wdToggle; // Сбрасываем subscript
  s := ' м';
  W.Selection.TypeText(s);
  W.Selection.Font.Superscript := wdToggle; // Устанавливаем superscript
  s := '3';
  W.Selection.TypeText(s);
  W.Selection.Font.Superscript := wdToggle; // Сбрасываем superscript
, но можно и доработать, чтоб было удобнее. Дерзай smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

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

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


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

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




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


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

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