![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.05.2010
Сообщений: 56
|
![]()
В общем запарился я с работой в Word средствами Делфей. Нужно сформировать небольшой отчет из таблицы.
Порыскав в интернете я нашел вариант с "оле" объектами. Собственно сам вопрос: 1) Как сделать Разрыв на новую страницу 2)Как выровнять по центру строчку 'Название отчета' 3) Может быть "Оле" уже давно устарело и нужно это все делать как то по другому? Код:
|
![]() |
![]() |
![]() |
#2 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Цитата:
Код:
Это экспортированная библа типов из Word'а. Там описаны нужные интерфейсы, типы и константы. Последний раз редактировалось Sibedir; 12.04.2013 в 09:59. |
||
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
Через ОЛЕ очень даже удобно работать. А самое главное, что если нет документации, то всегда можно открыть ворд, записать макрос во время форматирования нужной Вам части текста, открыть макрос и потом это всё перенести в код Delphi и всё будет идеально работать.
|
![]() |
![]() |
![]() |
#4 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Если вести речь: оле, не оле, то особо вариантов нет. Если не хотите вылезать за рамки Delphi, то оле. Вариантов-то особо нет. Если не оле, то макросы на VBA. Так, еще где-то дома валяется примерчик использования COM без OleVariant. Там не Word, но принцип тот же. Работаем с COM-интерфейсом напрямую, а сам интерфейс берем из приведенного файла. Вобщем, вечером гляну. Последний раз редактировалось Sibedir; 12.04.2013 в 12:41. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 912
|
![]()
Попробуйте воспользоваться модулем для MS Office
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.05.2010
Сообщений: 56
|
![]() ![]() То же самое происходит и с InsertBreak. |
![]() |
![]() |
![]() |
#7 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
![]()
В место разрыва (где курсор) введите символ с кодом 12.
Вручную это делается набором на цифровой клавиатуре 012 с зажатым левым альтом. На VBA этому соответствует Код:
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
Всё взял чисто как и писал выше из самого ворда и его справки (вернее справки VBA)
Код:
Последний раз редактировалось FaTaL; 12.04.2013 в 16:05. |
![]() |
![]() |
![]() |
#9 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Ну вот и вечер наступил
![]() 1. Импортируем библиотеку типов Word'а в Delphi: http://yandex.ru/yandsearch?text=%D0...0delphi&lr=197. Далее можно просто использовать 3 файла: Office_TLB.pas, VBIDE_TLB.pas и Word_TLB.pas (MS_Office.zip). 2. Немножко подправляем файл Word_TLB.zip. 3. Запускаем Word. Включаем запись макрова "●". Делаем что нужно. Завершаем запись макроса "■". Смотрим, что получилось: Код:
Код:
Принципиально, отличий от варианта FaTaL здесь нет. Отличие одно и оно заключается в использовании уже готового пригодного для работы с COM-объектом Word'а интерфейса. Хотя на первых этапах может помочь существенно. Последний раз редактировалось Sibedir; 14.04.2013 в 06:08. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работать в Word, не открывая документы (работа с закрытыми документами Word) | Георгиевич | Microsoft Office Word | 10 | 07.09.2009 11:19 |
работа с Word | arv | БД в Delphi | 13 | 24.05.2009 10:39 |
Работа с Word | Ky3Heu, | Общие вопросы Delphi | 1 | 20.05.2009 12:06 |
работа с WORD | Shaitan63 | Помощь студентам | 9 | 14.10.2008 07:25 |
Работа с Word | Shuraken | Общие вопросы Delphi | 2 | 18.09.2007 10:57 |