Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать с MS Word доккументами следующее ? Замена текста в теге на данные из списка 
:(
    Опции темы
Red-Storm
Дата 1.8.2005, 19:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помогите пожалуйсто решить проблему.

Есть определённый список, в нём к примеру расположнеы следующие данные : Имя, Фамилия и персональный код человека. Есть MS Word документ в котором прописан скажем определённый бланк следующего вида :

Персональные Данные :

Имя : <Name>
Фамилия : <Surname>
Персональный код : <PersonalID>

Как сделать так, чтоб моя программа при открытии документа сама находила тэги <> и забивала вместо них одноимённые данные из списка ? Буду очень благодарен за помощь.

Если возможно подкиньте пример по возможности на CBuilder 6.
  Вверх
chaos
Дата 2.8.2005, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



я в свое время когда писал на делфях пользовался компонентом EKRTF как раз умеет делать то что тебе надо, но вот не уверен что он есть для билдера



Добавлено @ 06:56
посмотри в гугле
PM WWW   Вверх
Dubinsky
Дата 3.8.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



хмм такая же проблема ...

а в стандартных компонентах билдера разве нет компонентов для работы с Ворд доками ?
может кто с ними работал ?
PM MAIL WWW   Вверх
chaos
Дата 3.8.2005, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Цитата(Dubinsky @ 3.8.2005, 13:59)
хмм такая же проблема ...

а в стандартных компонентах билдера разве нет компонентов для работы с Ворд доками ?
может кто с ними работал ?

ты смотрел что нибудь про компоненту EKRTF ?
PM WWW   Вверх
Dubinsky
Дата 3.8.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



я ещё не занимаюсь решением этой проблемы , просматриваю инфу , прислушиваюсь ...

у Ворд дока есть такая фенька "merge field" она ... , чёрт , хз как она работает но чую это то что надо , есть у билдера компоненты работающие с Ворд доками - вывод почему и не использовать их с этой вот фенькой ?

а насчёт EKRTF они же как я понял с *.rtf работают я неправ ?

если да то смысл использования Ворд файла в его мощном редакторе (ну там картинку прилепил , красиво оформил , забил эдакий черновик открытки , затем по базе поскакал , вытянул там имя фамилию записал в соответствующие поля (merge field'ом если возможно) и послал на печать , получаем на выходе красиво оформленные письма скажем клиентам базы , на день рождения )

с *.rtf будет всё корявее но тоже в принципе вариант ...
Добавлено @ 14:52
ради интереса

http://ekrtf.code.net.ru/index.html

это он ?
PM MAIL WWW   Вверх
Red-Storm
Дата 4.8.2005, 17:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Red @ 1.8.2005, 19:56)
Помогите пожалуйсто решить проблему.

Есть определённый список, в нём к примеру расположнеы следующие данные : Имя, Фамилия и персональный код человека. Есть MS Word документ в котором прописан скажем определённый бланк следующего вида :

Персональные Данные :

Имя : <Name>
Фамилия : <Surname>
Персональный код : <PersonalID>

Как сделать так, чтоб моя программа при открытии документа сама находила тэги <> и забивала вместо них одноимённые данные из списка ? Буду очень благодарен за помощь.

Если возможно подкиньте пример по возможности на CBuilder 6.

В итоге я пришёл к такой теме, но по чему-то ничего не работает. При нажатии на кнопку, пограмма пытается присоединиться к серверу Word'а и затем выдаёт диалог HRCHECK : где пытается доказать мне, что я задал ни те свойства WordApplication1, либо вообще их не указал.

Вид диалога такой :

'this->Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument,
WritePasswrdTemplate, Format, Encoding, Visible,
(Word_2k::WordDocument**)&prop'):Type mismath.
@C:\program files\borland\cbuilder6\include\vcl\Word_2k.h/7261

если нажать на "N to continue" то выплывает есчо один диалог :

(this->get_ActiveDocument((Word_2k::WordDocument**)&prop)) Error: 800A1098
(-2146824040)@C:\program files\borland\cbuilder6\include\vcl\Word_2k.h/5165

Если честно, я вообще не понимаю что я не правильно делаю. посмотрите пожалуйсто в чём ошибка.

Код

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  OleVariant DocName;
  OleVariant ConfConv;
  OleVariant ReadOnly;
  OleVariant AddToRecFiles;
  OleVariant Psw;
  OleVariant PswTmp;
  OleVariant Revert;
  OleVariant WritePsw;
  OleVariant WritePswTmp;
  OleVariant Fmt;
  OleVariant replace;

  OleVariant RepLabel;
  OleVariant RepToText;
  OleVariant FinalFile;

   DocName   = "c:\\Blank.doc";
   ConfConv  = True;
   ReadOnly  = False;
   AddToRecFiles  = False;
   Psw    = "";
   PswTmp = "";
   Revert = False;
   WritePsw = False;
   WritePswTmp = False;
   Fmt = wdOpenFormatAuto;
   replace = wdReplaceAll;

   WordApplication1->Connect();
   WordApplication1->Documents->Open(DocName, ConfConv, ReadOnly,
   AddToRecFiles, Psw, PswTmp, Revert, WritePsw, WritePswTmp, Fmt);

   WordDocument1->ConnectKind = ckAttachToInterface;
   WordDocument1->ConnectTo(WordApplication1->ActiveDocument);

   RepLabel  = "TestLabel";
   RepToText = Edit1->Text;

   WordDocument1->Range(EmptyParam,EmptyParam)->Find-> Execute(RepLabel,EmptyParam,EmptyParam,EmptyParam,

   EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, RepToText,
   replace);

    FinalFile = "c:\\Output.doc";
    WordDocument1->SaveAs(FinalFile);
    WordDocument1->Close();
    WordApplication1->Application->Visible = True;

    OleContainer1->CreateLinkToFile(FinalFile, false);
    OleContainer1->Refresh();
}

//-----------------------------------------------------------------------------


Может это несовместимость с MS Office 2003 ? Или параметры чем отличаются ?
  Вверх
stmamont
Дата 7.1.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ОЧень нужна какая нибудь документация по
WordApplication
WordDocument
и другим компонентам для работы с вордом!
помогите!


--------------------
user posted image
PM MAIL ICQ   Вверх
Partizan
Дата 7.1.2006, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



ребят....почитайте доки по OLE Automation и без всяких компонентов работайте с MSWord....


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
stmamont
Дата 8.1.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Сам отвечу на свой вопрос.
TWordApplication и TWordDocument
во многом (а может и во всем) повторяют работу в vba с word'ом.
Так что вся документация лежит в help'e vba в ворде.
Если до сих пор нужно могу выложить код для того что бы из программы можно
было бы заменить все определенные слова на другие в документе ворд.

//а вот по OLE Automation почитаю smile


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

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

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

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

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


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

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


 




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


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

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