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));
Builder6 и Word
скачал пример "Генератор писем по шаблону(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
Цитата:
WD = Variant::GetActiveObject("Word.Application");
А есть уже запущенный Word?
Код:
Проект автоматически запускает Word (если установлен) и создает новое сообщение. Этот код только пример. Дорабатывайте сами. :)
Цитата:
Originally posted by slider
Делается все просто! Создаем новое приложение и перенесем на него следующие компоненты - WordApplication, WordDocument, WordFont и Button. Создаем обработчик события Button1Click, в нем-то и развернутся основные действия. Добавим в него следующий код:
Проект автоматически запускает Word (если установлен) и создает новое сообщение. Этот код только пример. Дорабатывайте сами. :)
Делается все просто! Создаем новое приложение и перенесем на него следующие компоненты - 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));
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вского документа(бланк накладной) и занести в нужные места данные из формы. Вот как это сделать мозгов не хватает :)
Цитата:
Originally posted by sklutov
Мне нужно открыть шаблон Wordoвского документа(бланк накладной) и занести в нужные места данные из формы. Вот как это сделать мозгов не хватает :)
Мне нужно открыть шаблон Wordoвского документа(бланк накладной) и занести в нужные места данные из формы. Вот как это сделать мозгов не хватает :)
Вообщем поищи на сайте http://vadim-nn.narod.ru программку C++ Builder Help. Там про ворд много написано. Как с ним работать.
Цитата:
Originally posted by sklutov
Прошу помощи!!!!
Прошу помощи!!!!
Может быть это уже не актуально для тебя, но все равно, (для будущих поколений):
Все верно делаешь, да только необходимо привести тип переменной к OleString в строке
WD.OlePropertyGet("Documents").OleProcedure("Open", StringToOleStr(OpenDialog1->FileName));
И все будет ОК.