Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Документ Word и Delphi   Найти похожие ветки 

 
rodionov-uv   (2012-05-06 00:15) [0]

Добрый день!!!
Пишу программу для офиса. Суть программы работа с документами Word, а именно : имеем несколько папок с документами, например папки Акты, Журналы, Сопроводительные документы, Договора.
Нужно что бы в левой стороне отображались имена документов, в зависимости от того какую папку я выбрал, а в правой стороне - сам документ Word. С первой задачей я справился (С отображением имен документов в левой стороне и поиском по названию), а как отобразить сам документ я не знаю. Пробовал через олеобъект получается херня, через RxRichEdit с предварительным переводом в RTF формат очень долго и слетает форматирование документа.
Может можно как нибудь ещё???
Помогите плиз!!!!!!


 
Dennis I. Komarov ©   (2012-05-06 00:29) [1]

Зачем, если это равнозатратно открыть файл Word-ом?


 
rodionov_uv   (2012-05-06 00:35) [2]

Просто надо сперва просмотреть действительно ли это тот документ или нет и только после  открыть в Worde для редактирования.
Имя документа слишком длинное может достигать 100 знаков, а винда такое имя не поддерживает и имена делаются сокращёнными.


 
Dennis I. Komarov ©   (2012-05-06 00:58) [3]

чтобы "просмотреть" придется "открыть", так зачем открывать дважды?


 
rodionov_uv   (2012-05-06 01:18) [4]

И как вы это себе представляете?
Выбрали документ -> открылся Word -> документ оказался не тот -> закрываете Word -> выбераете следующий -> опять не тот и тд. если честно то это смешно.
Просто потом документы открываются не самим Wordом, а специализированной программой для заполнения этих документов. И выходной документ может состоять из нескольких документов совмещенных в один документ для печати.
Например документ будет состоять из двух различных договоров, трех актов и пяти журналов, которые одновременно выведутся на печать и будут содержать одни и те же поля для заполнения


 
Германн ©   (2012-05-06 01:18) [5]


> Просто надо сперва просмотреть действительно ли это тот
> документ или нет

Тогда почему так заботит что "слетает форматирование документа"?


 
rodionov_uv   (2012-05-06 01:21) [6]

просто акты очень похожи (бывают даже одинаковые имена), а различие в нескольких полях таблиц и вот эти поля сбиваются


 
Плохиш ©   (2012-05-06 01:26) [7]

Эксплорер прекрасно показывает содержимое документов офиса и не только.


 
rodionov_uv   (2012-05-06 01:29) [8]


> Эксплорер прекрасно показывает содержимое документов офиса
> и не только.


Пробовал он предлагает либо сохранить, либо открыть


 
rodionov_uv   (2012-05-06 01:35) [9]

ну неужели никто не сталкивался с подобной проблемой?
щас попробовал через ATViewer тоже предлагает либо сохранить, либо открыть.
Хотя пишут, что может работать с Wordовским форматом.


 
rodionov_uv   (2012-05-06 01:37) [10]

Может кто нить знает компонент какой нибудь, для отображения Worda


 
Плохиш ©   (2012-05-06 01:37) [11]

У меня в режиме отображения миниатюры показывает содержимое и ничего не предлагает.
А уж тоталькомандер вообще выполняет всë описанноп в [0] и стоит не состояние.


 
Германн ©   (2012-05-06 01:37) [12]

Быстрее всех показывает документы Word плагин к Total Commander. Но и он несколько замедленно показывает документ с таблицами. Да и рисунки не показывает. Но всё же работает вполне нормально для "предварительного просмотра" в рамках
> просто акты очень похожи (бывают даже одинаковые имена),
>  а различие в нескольких полях таблиц


 
rodionov_uv   (2012-05-06 01:55) [13]

Извините если за компом сидит блондинка с очень длинными ногтями, то о Total Commander и речи быть не может.
А программа для неё именно и пишется, чтоб она лишнего чего не нажала и документы не перепутала.


 
rodionov_uv   (2012-05-06 02:05) [14]


> Плохиш ©   (06.05.12 01:37) [11]
>
> У меня в режиме отображения миниатюры показывает содержимое
> и ничего не предлагает.
> А уж тоталькомандер вообще выполняет всë описанноп в [0]
> и стоит не состояние.


извените перепутал WebBrowser
> Германн ©   (06.05.12 01:37) [12]
>
> Быстрее всех показывает документы Word плагин к Total Commander.
>  Но и он несколько замедленно показывает документ с таблицами.
>  Да и рисунки не показывает. Но всё же работает вполне нормально
> для "предварительного просмотра" в рамках


Нужна именно написанная именно для этой цели своя программа


 
Германн ©   (2012-05-06 02:09) [15]


> rodionov_uv   (06.05.12 01:55) [13]
>
> Извините если за компом сидит блондинка с очень длинными
> ногтями, то о Total Commander и речи быть не может.

Хм. Я упомянул Total Commander только как пример быстрого показа содержимого Word-овского документа с таблицами, но без режима WISIWYG.
А судя по тому какие библиотеки использует сей плагин - проблемы с OLE ваши собственные.


 
rodionov_uv   (2012-05-06 02:24) [16]


> А судя по тому какие библиотеки использует сей плагин -
> проблемы с OLE ваши собственные.
>


Если можно поподробнее


 
Германн ©   (2012-05-06 02:39) [17]


> rodionov_uv   (06.05.12 02:24) [16]
>
>
> > А судя по тому какие библиотеки использует сей плагин
> -
> > проблемы с OLE ваши собственные.
> >
>
>
> Если можно поподробнее
>


> Пробовал через олеобъект получается херня

Если можно подробнее, то это к тебе. Как пробовал? что получилось? В чём х...ня?


 
Плохиш ©   (2012-05-06 02:42) [18]


> Германн ©   (06.05.12 02:39) [17]

Ты не умничай, ты код давай.


 
Германн ©   (2012-05-06 02:59) [19]


> Плохиш ©   (06.05.12 02:42) [18]
>
>
> > Германн ©   (06.05.12 02:39) [17]
>
> Ты не умничай, ты код давай.
>

Сначала ты найди и дай справку на немецком по OLE. :).


 
Anatoly Podgoretsky ©   (2012-05-06 08:24) [20]

Виндоус нормально работает с именами в 100 символов, при том в отличии от твоей поделки показывает имена в любых языках.

Виндоус нормально показывает любые документы, а не только Ворд, а Эксель даже отдельные закладки, у меня блондинки с удовольствием пользуются и не пищат, а вот пищать начнут на поделку с OLE Container


 
MsGuns ©   (2012-05-07 10:41) [21]

Рабочее место "блондинок с длинными ногтями" вовсе не компьютер


 
Dennis I. Komarov ©   (2012-05-07 22:22) [22]


> MsGuns ©   (07.05.12 10:41) [21]
> Рабочее место "блондинок с длинными ногтями" вовсе не компьютер

Эт почему? Многие дадут фору "программистам с короткими мозгами"


 
Dennis I. Komarov ©   (2012-05-07 22:40) [23]


> rodionov_uv   (06.05.12 01:18) [4]
> И как вы это себе представляете?

Я себе это представляю так:
Если куча шаблонив формата MSWord  (dot[x]).
При формировании нужного отчета программа берет нужный шаблон, вставляет в него нужные данные и далее от потребностей - открыть, сохранить, отправить...


 
MsGuns ©   (2012-05-08 11:37) [24]

>Dennis I. Komarov ©   (07.05.12 22:22) [22]
>Эт почему? Многие дадут фору "программистам с короткими мозгами"

Эт потому что ключевое слово не "блондинка", а "длинные ногти".
ЗЫ. Жена - блондинка. Угадал ? :)


 
Dennis I. Komarov ©   (2012-05-08 16:57) [25]


> MsGuns ©   (08.05.12 11:37) [24]


Нет, не угадал ;)
Вы не видели блондинок с двумя ВО? И ногти не короткие. :) Очень приятно с такими работать, в отличии от некоторых...


 
rodionov_uv   (2012-05-08 17:15) [26]

Я смотрю Вы тут тему в первых рядах держите.
Да мечта любого мужика - это блондинка.........., но разговор не о них.

Решил проблему следующим образом (пока не найду подходящего компонента).
При запуске программы запускается конвертер который при первом запуске программы создает копии файлов в формате rtf, а потом добавляет если появились новые вордовские файлы в папках.Предварительный просмотр через RxRichEdit rtf файлов, а потом если тот файл, уже открытие в программе.

Ну неужто никто не делал подобного и не знает компонента чтоб отобразить Wordовский документ?????


 
Smile   (2012-05-08 17:38) [27]

Ну неужто никто не делал подобного и не знает компонента чтоб отобразить Wordовский документ?????

Расшифруй выделенное ЖИРНЫМ (отобразить), как мне кажется, в твоем понимании это "не открыть", а нечто иное, тогда что это означает "ОТОБРАЗИТЬ"?


 
Anatoly Podgoretsky ©   (2012-05-08 18:52) [28]


> но разговор не о них.

А почему?


 
Dennis I. Komarov ©   (2012-05-08 19:36) [29]


> Anatoly Podgoretsky ©   (08.05.12 18:52) [28]

Некогда, ворд не ждет...

P.S.
     В ветке ни грамма кода...
P.P.S.
     Формат мелкомягкие давно вроде открыли...


 
rodionov_uv   (2012-05-08 20:17) [30]


> Smile   (08.05.12 17:38) [27]



> Расшифруй выделенное ЖИРНЫМ (отобразить), как мне кажется,
>  в твоем понимании это "не открыть", а нечто иное, тогда
> что это означает "ОТОБРАЗИТЬ"?


Да открыть но только не самим Word, а в окне моей программы без менюшек и без возможности редактирования, просто просмотреть как выглядит сам документ.


> Dennis I. Komarov ©   (08.05.12 19:36) [29]

 
> P.S.
>      В ветке ни грамма кода...


А какой код если я даже сам не знаю как писать и что.
Знаю как запустить  сам Word и выполнять действия в нем, а как открыть в чем-то хз...


 
rodionov_uv   (2012-05-08 23:28) [31]

Все нашел я компонент называется RichView.
С его помощью файлы doc и docx и много других форматов открываются.

вот код


procedure TMainForm.FileBoxClick(Sender: TObject);
var r: Boolean;
begin
 rve.Clear;
 rve.Format;
 rve.Update;
 rve.Clear;
 r:= rvc.ImportRV(FileBox.Items.Strings[FileBox.ItemIndex], rve, 1);
 rve.Format;
end;

procedure TMainForm.RVEReadHyperlink(Sender: TCustomRichView; const Target,
 Extras: String; DocFormat: TRVLoadFormat; var StyleNo, ItemTag: Integer;
 var ItemName: String);
begin
 ItemTag := Integer(StrNew(PChar(Target)));
end;

procedure TMainForm.RVEWriteHyperlink(Sender: TCustomRichView; id: Integer;
 RVData: TCustomRVData; ItemNo: Integer; SaveFormat: TRVSaveFormat;
 var Target, Extras: String);
begin
 Target := PChar(RVData.GetItemTag(ItemNo));
end;

procedure TMainForm.RVEJump(Sender: TObject; id: Integer);
var ItemNo: Integer;
   RVData: TCustomRVFormattedData;
   s: String;
begin
 rve.GetJumpPointLocation(id, RVData, ItemNo);
 s := PChar(RVData.GetItemTag(ItemNo));
 ShellExecute(0, "open", PChar(s), nil, nil, SW_SHOW);
end;


FileBox - это компонент TListBox
RVE - это компонент TRichView
RVS - это компонент TRVStyle
RVC - это компонент TRVOfficeConverterRVS

код взят из примера компонента.


 
Германн ©   (2012-05-09 01:32) [32]


> rodionov_uv   (08.05.12 23:28) [31]
>
> Все нашел я компонент называется RichView.
> С его помощью файлы doc и docx и много других форматов открываются.
>

И форматирование работает?


 
RDen ©   (2012-05-09 13:11) [33]

>Германн ©   (09.05.12 01:32) [32]

>И форматирование работает?

блондинка работает


 
rodionov_uv   (2012-05-09 15:22) [34]


> Германн ©   (09.05.12 01:32) [32]



> И форматирование работает?


Да и форматирование и структура документа остается, самое главное таблицы правильно отображает, что особенно важно для меня.

Единственное только с картинками обрамленными текстом проблема, а именно нет обрамления текстом картинки, сперва картинка, потом текст.


 
Dennis I. Komarov ©   (2012-05-09 17:53) [35]

А когда он "просматривает" в процессах не висит часом msword.exe? (или как его там)


 
Dennis I. Komarov ©   (2012-05-09 18:50) [36]

WINWORD.EXE его...


 
rodionov_uv   (2012-05-09 22:27) [37]


> Dennis I. Komarov ©   (09.05.12 17:53) [35]
>
> А когда он "просматривает" в процессах не висит часом msword.
> exe? (или как его там)


нет не висит.
появляется процесс WordConv.exe пока не появился документ в RichView, потом исчезает.


 
Dennis I. Komarov ©   (2012-05-09 23:17) [38]

а он от кель взялся?


 
rodionov_uv   (2012-05-09 23:19) [39]


> Dennis I. Komarov ©   (09.05.12 23:17) [38]
>
> а он от кель взялся?


наверное компонент TRVOfficeConverterRVS обращается к нему


 
rodionov_uv   (2012-05-09 23:21) [40]

Сам файл Wordconv.exe находится в папке C:\Program Files\Microsoft Office\Office12\



Страницы: 1 2 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.067 c
15-1329678631
ололо
2012-02-19 23:10
2013.03.22
Как разместить компонент в неклинтской части окна?например как эт


15-1345802495
cwl
2012-08-24 14:01
2013.03.22
Unicode в идентификаторах


2-1332430983
теркин
2012-03-22 19:43
2013.03.22
Представление двухмерного массива в виде динамического списка


15-1331757006
Юрий
2012-03-15 00:30
2013.03.22
С днем рождения ! 15 марта 2012 четверг


15-1330245287
stas
2012-02-26 12:34
2013.03.22
Помогите настроить роутер микротик