Документ Word та Delphi

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

Навіщо, якщо це рівновитратно відкрити файл Word?

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

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

Експлорер чудово показує вміст документів офісу і не лише.

> Експлорер чудово показує вміст документів офісу > і не тільки.

Пробував він пропонує абозберегти, абовідкрити

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

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

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

Вибачте якщо за комп'ютером сидить блондинка з дуже довгими нігтями, то про Total Commander і мови бути не може. А програма для неї саме і пишеться, щоб вона зайвого чого не натиснула і документи не переплутала.

Потрібна саме написана для цього своя програма

> rodionov_uv (06.05.12 1:55) [13] > > Вибачте якщо за комп'ютером сидить блондинка з дуже довгими > нігтями, то про Total Commander і мови бути не може.Хм. Я згадав Total Commander тільки як приклад швидкого показу вмісту Word-івського документа з таблицями, але без режиму WISIWYG. А судячи з того, які бібліотеки використовує цей плагін - проблеми з OLE ваші власні.

> А судячи з того, які бібліотеки використовує цей плагін - > проблеми з OLE ваші власні. >

Якщо можна докладніше

> rodionov_uv (06.05.12 2:24) [16] > > > > А судячи з того, які бібліотеки використовує цей плагін > - > > проблеми з OLE ваші власні. > > > > > Якщо можна докладніше >> Пробував через олеоб'єкт виходить херняЯкщо можна докладніше, то це до тебе. Як пробував? що вийшло? У чому х. ня?

Віндоус нормально працює з іменами в 100 символів, при тому на відміну від твого виробу показує імена в будь-якихмовами.

Віндоус нормально показує будь-які документи, а не тільки Ворд, а Ексель навіть окремі закладки, у мене блондинки із задоволенням користуються і не пищать, а от пищать почнуть на вироби з OLE Container

Робоче місце "блондинок із довгими нігтями" зовсім не комп'ютер

> rodionov_uv (06.05.12 1:18) [4] > І як ви це собі уявляєте?Я це уявляю так: Якщо купа шаблонів формату MSWord (dot[x]). При формуванні потрібного звіту програма бере потрібний шаблон, вставляє в нього потрібні дані і далі від потреб – відкрити, зберегти, відправити.

Це тому, що ключове слово не "блондинка", а "довгі нігті". ЗИ. Дружина – блондинка. Вгадав? :)

Ні, не вгадав ;) Ви не бачили блондинок з двома ВО? І нігті не короткі. :) Дуже приємно з такими працювати, на відміну від деяких.

Я дивлюся Ви тут тему в перших рядах тримаєте. Так мрія будь-якого мужика - це блондинка. але не про них.

Ну невже ніхто не робив подібного і не знає компонента, щоб відобразити Wordовський документ.

Ну невже ніхто не робив подібного і не знає компонента, щобвідобразитиWordовський документ.

Розшифруй виділене ЖИРНИМ (відобразити), як мені здається, у твоєму розумінні це "не відкрити", а щось інше, тоді що це означає "ВІДобразити"?

P.S. У гілці ні грама коду. P.P.S. Формат дрібном'які давно начебто відкрили.

> Розшифруй виділене ЖИРНИМ (відобразити), як на мене, > у твоєму розумінні це "не відкрити", а дещо інше, тоді > що це означає "ВІДобразити"?

А який код якщо я навіть сам не знаю як писати і що. Знаю як запустити сам Word і виконувати дії в ньому, а як відкрити в чомусь хз.

Все знайшов я компонент називається RichView. З його допомогою файли doc і docx і багато інших форматів відкриваються.

procedure TMainForm.FileBoxClick(Sender: TObject); var r: Boolean; begin rve.Clear; rve.Format; rve.Update; rve.Clear; = 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 := (StrNew(PChar(Target))); end;

procedure TMainForm.RVEWriteHyperlink(Sender: TCustomRichView; ID: Integer; RVData: TCustomRVData; ItemNo: Integer; SaveFormat: TRVSaveFormat; var Target, Extras: String); begin (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

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

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

>І форматування працює?

> І форматування працює?

Та й форматування та структура документа залишається, найголовніше таблиці правильно відображає, що особливо важливодля мене.

Єдине тільки з картинками, що обрамлені текстом проблема, а саме немає обрамлення текстом картинки, спершу картинка, потім текст.

А коли він "переглядає" у процесах не висить годиною msword.exe? (або як його там)

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

а він від кель взявся?

напевно компонент TRVOfficeConverterRVS звертається до нього