Документ 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 звертається до нього