Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WordApplication, Проблема с открытием файла в Word 
:(
    Опции темы
Oberon83
Дата 19.9.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

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



У меня есть файл который необходимо открыть из приложения, для простоты маленький исходник:
Код


 OleVariant FileName;
 
 WordApplication1->Connect();

if (OpenDialog1->Execute()){

 FileName = OpenDialog1->FileName;
 WordDocument1->ConnectTo(WordApplication1->Documents->Open(FileName));
// WordDocument1->ConnectTo(WordApplication1->Documents->Open(FileName));
 }



Файл открывается, но только со второго раза, т.е. для его открытия я должен два раза вызвать :
WordDocument1->ConnectTo(WordApplication1->Documents->Open(FileName));

А почему с первого раза не хочет?
--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
_hunter
Дата 19.9.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



возможно потому, что в первый раз ворд не открыт.
покажи весь код...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Oberon83
Дата 19.9.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

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



_hunter Да это весь код и есть, просто я сначала делаю выгрузку данных в файл(это я как раз таки и не писал), а потом подхватываю его вордом. Просто подобными вещами впервые занимаюсь. Код подсмотрел в книжке Архангельского, там написано, что все должо открываться. На самом деле не это не так. А как тогда просто ворд открыть?

На WordApplication1->Visible = true; - Показать окно, если открыт Word он ругается:
'TWordApplication::Visible' is not accessible

Это сообщение отредактировал(а) Oberon83 - 19.9.2005, 14:47
--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
_hunter
Дата 19.9.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



открыть так:
CreateOleObject("Word.Application");

+ где WordApplication1 ( это если код весь )?
++ может ты после выгрузки ворд закрываеш


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Oberon83
Дата 19.9.2005, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

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



Цитата(_hunter @ 19.9.2005, 15:01)
открыть так:
CreateOleObject("Word.Application");


Не открывает. Показывает песочные часики - вроде как что - то делает, а word не открывает. Проблема действительно в том, что word закрыт. Если сделать то же самое при отрытом ворде, то в нем появляется второй лист с моими данными.

--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
_hunter
Дата 19.9.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



а процесс появляется?
можно попробовать так:
wordApp.OlePropertySet<VARIANT_BOOL>("Visible", true);
сделать


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
bas
Дата 19.9.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

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



Код

FileName = OpenDialog1->FileName;
WordApplication1->Documents->Add(FileName,EmptyParam) ;
WordDocument1->ConnectTo(WordApplication1->WordApplication1->ActiveDocument);

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


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

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



_hunter Процесс появляется.
Добавлено @ 07:21
Цитата(bas @ 19.9.2005, 16:50)
Код 

FileName = OpenDialog1->FileName;
WordApplication1->Documents->Add(FileName,EmptyParam) ;
WordDocument1->ConnectTo(WordApplication1->WordApplication1->ActiveDocument);


То же не помогает. Процесс появляется в списке, а само окно Word'a ни в какую не хочет.
--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
Oberon83
Дата 20.9.2005, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

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



Решил проблему следующим образом:
Код


Variant word_app;
Variant word_docs;
Variant word_this_document;

char* f = "D:\\www.doc";

word_app = Variant::CreateObject("word.application");
word_docs = word_app.OlePropertyGet("documents");
word_this_document = word_docs.OleFunction("Open",f);
word_app.OlePropertySet("Visible",(Variant)true);



Все теперь работает.
Всем спасибо за помощь.
--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
betal
Дата 29.10.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Еще вопрос по теме.
Как теперь записать набор какихто символов. А потом удалить их же?
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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