Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывести текст в Word 
:(
    Опции темы
Нитонисе
Дата 28.12.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть компонент RichEdit, заполненный некоторым текстом в обогащенном формате. Как его вывести в Word?

Кроме того хотелось бы понять общий принцип формирования Word-документа из моего приложения. Кроме текста хотелось бы вставлять некоторые изображения, формировать таблицы. Где об этом можно почерпнуть информацию?

Это сообщение отредактировал(а) Нитонисе - 28.12.2009, 14:22
PM MAIL   Вверх
smoke_man
Дата 28.12.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посмотри тут.

Добавлено через 9 минут и 52 секунды
Можно еще у Архангельского почитать - А.Я. Архангельский "Программирование в C++ Builder 6".


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Нитонисе
Дата 28.12.2009, 14:51 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А компоненты с вкладки ьилдера Office2k для чего? В данной статье они не рассматриваются. И кстати пример, который там приведен для Word - не работает.
PM MAIL   Вверх
smoke_man
Дата 28.12.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Посмотри тут. Просто можно работать напрямую через OLE, либо пользовать компоненты.

Это сообщение отредактировал(а) smoke_man - 28.12.2009, 15:00


--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Нитонисе
Дата 28.12.2009, 15:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(smoke_man @  28.12.2009,  14:59 Найти цитируемый пост)
Посмотри тут. Просто можно работать напрямую через OLE, либо пользовать компоненты.

И тут примеры не работают.

Добавлено через 9 минут и 48 секунд
Вот пробую посмотреть как работает пример. Создаю новый проект, добавляю WordApplication (WApp) и WordDocument (WDoc). Кнопка Button и ее обработчик:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
OleVariant FileName;
OleVariant oldStr,newStr;
OleVariant EmptyPar=False;
OleVariant Yes=True;
FileName=GetCurrentDir()+"\\test.doc";
WApp->Visible=false;
WApp->Caption = StringToOleStr("Îò÷åò");
WApp->Documents->Add(FileName,EmptyParam);
WDoc->ConnectTo(WApp->ActiveDocument);
}
Компилятор на строчке "WApp->Visible=false;" показывает ошибку - [C++ Error] Unit1.cpp(25): E2247 'TWordApplication::Visible' is not accessible
PM MAIL   Вверх
smoke_man
Дата 28.12.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Попробуй так:
Код

OleVariant FileName;
OleVariant oldStr,newStr;
OleVariant EmptyPar=False;
OleVariant Yes=True;
FileName=GetCurrentDir()+"\\test.doc";
WApp->set_Visible( false);
WApp->set_Caption(L"blablabla");
WApp->Documents->Add(FileName,EmptyParam);
W->ConnectTo(WApp->ActiveDocument);



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
Usper
Дата 29.12.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всё на сайте Wlada`а работает. Смотри мой пост тута:  VPF::Создание таблицы в Word-е, Перенос проги с Delphi на C++  Здесь, правда, вывод таблицы, а не текста, как выводить текст смотри сайт Wlada.

Это сообщение отредактировал(а) Usper - 29.12.2009, 11:42


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Нитонисе
Дата 5.1.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А может кто нибудь просто выложить кусочек кода, который открывает ворд и закидывает туда текст из RichEdit? Например эти действия будут происходить по нажатию кнопки.
PM MAIL   Вверх
Нитонисе
Дата 5.1.2010, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Почему не работает вот этот кусочек кода?
Код

Variant VWord;
Variant VDoc;
VWord=CreateOleObject("Word.Application");
VWord.OlePropertySet("Visible",true);
VWord.OlePropertyGet("Documents").OleProcedure("Add");
VDoc=VWord.OlePropertyGet("Documents").OleFunction("Item",1);
VDoc.OlePropertyGet("Paragraphs").OleProcedure("Add");

Выскакивает ошибка на строчке - VDoc.OlePropertyGet("Paragraphs").OleProcedure("Add"); - с сообщением "Вызов был отклонен"? класс ошибки - EOleSysError
PM MAIL   Вверх
Usper
Дата 8.1.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какая версия билдера и ворда? У меня этот кусок кода замечательно работает, но я уже сталкивался с тем, что код, нормально работающий с 2003 офисом, отказывается работать с 2007 в некоторых случаях :(. Причём код на Visual Basic, генерируемый при записи макроса, и впоследствии используемый для перевода в С++, одинаков, что для 97 ворда, что для 2007.

Это сообщение отредактировал(а) Usper - 8.1.2010, 19:55


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Нитонисе
Дата 8.1.2010, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Usper @  8.1.2010,  19:52 Найти цитируемый пост)
Какая версия билдера и ворда?

Ворд 2002, а билдер 2006. 
Вобщем-то решил проблему вывода текста через компоненты билдера, не используя напрямую OLE.
PM MAIL   Вверх
Usper
Дата 8.1.2010, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На крайний случай, можно просто сохранить содержимое RichEdit в rtf-файл и передать этот файл ворду smile.


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


Опытный
**


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

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



Цитата(Usper @  8.1.2010,  19:57 Найти цитируемый пост)
На крайний случай, можно просто сохранить содержимое RichEdit в rtf-файл и передать этот файл ворду
Наверное можно, но у меня в генерируемом ворд-документе должны быть не только содержимое этого ричэдита, но и таблицы и картинки... вобщем через copy/paste вставляю данные из ричэдита, вроде нормально, только чего-то какие-то глюки связанные с непоследовательным рсаположением данных. Должны быть картинка, таблица, ричэдит. А получается картинка, ричэдит, таблица(



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

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

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

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

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


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

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


 




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


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

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