Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Builder6 и Word

6.2K
24 декабря 2004 года
sklutov
20 / / 24.12.2004
Прошу помощи!!!!
скачал пример "Генератор писем по шаблону(Word+Excel)" не работает.
При выборе шаблона выдает:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleSysError with message 'Операция недоступна'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Останавливается на строке:
WD = Variant::GetActiveObject("Word.Application");

Если продолжить - загрузится Word97 и затем сообщение:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleSysError with message 'Неверный тип переменной'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

стоит на строке:
OleProcedure(name, static_cast<TAutoArgsBase*>(&args));

Очень прошу помогите заставить работать пример на Builder6
247
24 декабря 2004 года
wanja
1.2K / / 03.02.2003
Цитата:
WD = Variant::GetActiveObject("Word.Application");


А есть уже запущенный Word?

1.9K
24 декабря 2004 года
slider
81 / / 20.07.2004
Делается все просто! Создаем новое приложение и перенесем на него следующие компоненты - WordApplication, WordDocument, WordFont и Button. Создаем обработчик события Button1Click, в нем-то и развернутся основные действия. Добавим в него следующий код:
Код:
OleVariant ItemIndex = 1;
try
{
    WordApplication->Connect();// пытаемся связаться с Word
}
catch (Exception &exception)
{// если произошла ошибка сообщим пользователю
MessageDlg("Word, в настоящее время, не установлен", mtError, TMsgDlgButtons() << mbYes, 0);
Abort;
}
WordApplication->Visible = True;
WordApplication->Caption = StringToOleStr("Пример для WORD"); // заголовок
// создаем новый документ и связываем его с компонентом WordDocument
WordDocument->ConnectTo(WordApplication->Documents->Add());
WordDocument->ConnectTo(WordApplication->Documents->Item(ItemIndex));


Проект автоматически запускает Word (если установлен) и создает новое сообщение. Этот код только пример. Дорабатывайте сами. :)
6.2K
24 декабря 2004 года
sklutov
20 / / 24.12.2004
Цитата:
Originally posted by slider
Делается все просто! Создаем новое приложение и перенесем на него следующие компоненты - WordApplication, WordDocument, WordFont и Button. Создаем обработчик события Button1Click, в нем-то и развернутся основные действия. Добавим в него следующий код:
Код:
OleVariant ItemIndex = 1;
try
{
    WordApplication->Connect();// пытаемся связаться с Word
}
catch (Exception &exception)
{// если произошла ошибка сообщим пользователю
MessageDlg("Word, в настоящее время, не установлен", mtError, TMsgDlgButtons() << mbYes, 0);
Abort;
}
WordApplication->Visible = True;
WordApplication->Caption = StringToOleStr("Пример для WORD"); // заголовок
// создаем новый документ и связываем его с компонентом WordDocument
WordDocument->ConnectTo(WordApplication->Documents->Add());
WordDocument->ConnectTo(WordApplication->Documents->Item(ItemIndex));


Проект автоматически запускает Word (если установлен) и создает новое сообщение. Этот код только пример. Дорабатывайте сами. :)





Мне нужно открыть шаблон Wordoвского документа(бланк накладной) и занести в нужные места данные из формы. Вот как это сделать мозгов не хватает :)

1.9K
24 декабря 2004 года
slider
81 / / 20.07.2004
Цитата:
Originally posted by sklutov




Мне нужно открыть шаблон Wordoвского документа(бланк накладной) и занести в нужные места данные из формы. Вот как это сделать мозгов не хватает :)


Вообщем поищи на сайте http://vadim-nn.narod.ru программку C++ Builder Help. Там про ворд много написано. Как с ним работать.

6.1K
13 января 2005 года
Alekc
38 / / 23.12.2004
Цитата:
Originally posted by sklutov
Прошу помощи!!!!



Может быть это уже не актуально для тебя, но все равно, (для будущих поколений):

Все верно делаешь, да только необходимо привести тип переменной к OleString в строке
WD.OlePropertyGet("Documents").OleProcedure("Open", StringToOleStr(OpenDialog1->FileName));

И все будет ОК.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог