информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
эээ... а поподробней? 16.02.05 12:33  Число просмотров: 1679
Автор: Duke Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
передача информации в MS Word 15.02.05 14:35  
Автор: Duke Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Мне надо передавать значения в вордовские документы из С++ Builder 6, как это можно сделать? Кажется был способ в местах вставки значений писать что-то типа %имя_переменной а потом туда значения подставлять..? Сейчас пытаюсь использовать OLE но упираюсь в недостаток информации по работе билдера с OLE...
Импортни библиотеку типов и вперед 15.02.05 17:46  
Автор: AS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
эээ... а поподробней? 16.02.05 12:33  
Автор: Duke Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Подробней 16.02.05 16:28  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
Eсли мне не изменяет склероз, то примерно так:
1) Project -> Import Type Library
2) Выбираем из списка "Microsoft Word 10.0 Object Library"
3) Создаем "WordApplication"
4) etc..
итак.. 16.02.05 17:50  
Автор: Duke Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Eсли мне не изменяет склероз, то примерно так:
> 1) Project -> Import Type Library
> 2) Выбираем из списка "Microsoft Word 10.0 Object Library"
> 3) Создаем "WordApplication"
> 4) etc..
ну.. зачем это импортировать я так и не понял...
вобщем я делаю так:

Variant WordAppl;
Variant Docs;
Variant Doc;
Variant BMs;
Variant BM;
Variant Range;

WordAppl = Variant::CreateObject("Word.Application");
WordAppl.OlePropertySet("Visible", Variant(true));
Docs = WordAppl.OlePropertyGet("Documents");
Docs.Exec(Procedure("Open")<<ExtractFilePath(Application->ExeName)+"\\äî âîñòðåáîâàíèÿ.doc");
Doc=WordAppl.OlePropertyGet("ActiveDocument");
BMs=Doc.OlePropertyGet("Bookmarks");

BM=BMs.Exec(Procedure("Item")<<"MY_BOOKMARK");
BM.Exec(Procedure("Select")); -- здесь вылетает.. так как строкой выше BM почему-то присваивается -1 вместо Bookmark..

Range=WordAppl.OlePropertyGet("Selection");
Range.OlePropertySet("Text","mytext");

чего можно сделать?...
как эту чертову закладку выделить чтобы вместо нее свой текст вставить?!!!!
Через OLE - не советую. 16.02.05 22:51  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
Через OLE - не советую.
Замучаешься.

> ну.. зачем это импортировать я так и не понял...
>
MS Word является COM-cервером, поэтому ты получаешь доступ ко всем методам, свойствам, и событиям, которые он предоставляет.
А как конкретно мне получить доступ к этим объектам?... 17.02.05 10:27  
Автор: Duke Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Через OLE - не советую.
> Замучаешься.
>
> > ну.. зачем это импортировать я так и не понял...
> >
> MS Word является COM-cервером, поэтому ты получаешь доступ
> ко всем методам, свойствам, и событиям, которые он
> предоставляет.
А как конкретно мне получить доступ к этим объектам?...
Я сделал импорт в новый Unit...
Вот есть в структуре объектов MS Word объект Application например, как мне получить к нему доступ?.. и как работать дальше (в смысле с другими объектами Word) ???
Пожалуйста помогите чайнику... очень надо...
Пример для Word97 17.02.05 22:38  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
// Это не мой пример, но думаю - автор на меня не обидется
procedure TForm1.Button1Click(Sender: TObject);
var
  Shablon:OleVariant;
  word:_ApplicationDisp;
begin
  Shablon:=ExtractFilePath(Application.EXEName)+'shablon.DOC';

  word := CoWordapplicaTion.Create as _ApplicationDisp;
  (Word.Documents as DocumentsDisp).Open(Shablon,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,
             EmptyParam,EmptyParam,EmptyParam,EmptyParam);

  showmessage((Word.Application as _application).Get_Name+#13+
  ((Word.Application as _application).ActiveDocument as _documentDisp).Path );
  word.quit(EmptyParam,EmptyParam,EmptyParam);
end;


---
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach