Робота з MS WORD з DELPHI 5/6/7 .Нестандартние звіти
Нестандартні звіти - хто і навіщо цим займається
На питання "навіщо" ми, думаю, дали вже достатньо аргументації. Але все-таки це не все, зупинимося на ще неописаних проблемах.
Перше питання, яке нам зазвичай задають - це де я зможу це використовувати крім як на підприємстві, сфера застосування даної тематики досить широка, розглянемо деякі питання і варіанти їх вирішення за коштами роботи з Ворд і створенням звітів:
А на рахунок хто ж цим займається? Ця інформація може бути корисна керівникам. Будь-WINDOWS програміст з вищою або середньо спеціальною освітою, знайомий з МВР і ООП. Такого виду програмістів часто називають прикладними. Термін виготовлення в середньому 2-3 місяці з урахуванням бета тестування.
Основи роботи з OLE
На програмному рівні робота з WORD полягає в використанні OLE. Основна структура взаємодії така: Існує програма СЕРВЕР, яка вважається головною і саме вона виконує всі операції, в нашому випадку сервером є програма WORD. З цих слів вже ясно, що якщо WORD не встановлено на комп'ютері, тобто сервер відсутній, то нічого виконано бути не може. Просто нікому буде виконувати. Це, по суті, найбільш поширений питання серед програмістів середнього класу. Друга взаємодіє програма - це програма КЛІЄНТ, все, що вона робить - це пов'язується з сервером і просить його виконати необхідні операції, сама по собі вона нічого не може. В результаті такої взаємодії і вирішується поставлене завдання. Тепер розглянемо реалізацію:
А тепер розглянемо проблеми, які зустрічаються при роботі з WORD, про які говорилося раніше.- Якщо встановити Ворд і спробувати відразу зв'язатися з ним через Ole, то нічого не вийде, справа в тому, що при першому запуску WORD програма пропонує надрукувати тестову сторінку, при цьому, не повідомивши про це Ole клієнту. Через що в роботі вашої програми може відбуватися збій. І виправлення ця помилка не підлягає, дана неприємність - справа рук компанії MICROSOFT створила WORD і поки вона цю проблему вирішувати не збирається, як видно з WORD XP.
- Ще може бути ситуація, коли відкривається WORD файл вже зайнятий іншим додатком, або копією вашого, тоді ворд пропонує використовувати режим тільки для читання, а по звільненню ресурсу пропонує перехід в можливість редагування. Це теж впливає на роботу клієнтської програми, оскільки вимагає від користувача згоди на зміну режимів.
- Файл, який ви відкриваєте, просто не існує. Цю проблему вам доведеться вирішувати засобами мови розробки. WORD подібні сервіси не надає.
- На використовуваної машині не вистачає пам'яті. Відповідь на це питання дивіться в пункті 3.
Створення звітів в WORD (різні підходи)
Існує кілька підходів створення нестандартних звітів в WORD, використовуючи OLE технології, розглянемо їх по порядку:- Це стандартний підхід. Клієнт робить запит, сервер виконує, клієнт робить наступний запит і так далі, поки завдання не буде вирішена.
- Можна використовувати вбудований в WORD мову VBA, написати необхідні макроси на Visual Basic Script і впровадити їх в поточний документ, тоді залишиться тільки викликати їх і все. За рахунок цього можна реально виграти в часі, але волею випадку цей метод в основному використовується в комп'ютерні віруси, за рахунок чого відноситься до вірусних технологій і через це деякі антивіруси можуть визначати вашу програму як інфіковану WORD вірусом. Тому даний метод так і не набув поширення серед Ole програм.
- Третій метод - найважливіший, а полягає він у поєднанні перших двох, таким чином, демонструючи взаємне доповнення підходів.
Для втілення будь-якого з 3-х підходів необхідні ще додаткові дії. Якщо потрібно записувати / читати з певною позиції в тексті або необхідно працювати з таблицею, то треба розставити закладки в потрібних позиціях документа. Це найкраще зробити в шаблонному документі вручну. Потім треба буде знайти ці закладки в тексті і перейти до них. Для початку, напишемо процедуру пошуку закладки та переходу до неї.
Попереднє налаштування сторінки WORD
Однією з найпоширеніших проблем роботи з Ole WORD - різноманітні конфігураційні у різних версій WORD і на різних машинах, Внаслідок чого іноді документ відтворюється некоректно. Цю проблему можна вирішити, задавши параметри конфігурації сторінки вручну. Серед таких налаштувань окремо можна виділити можливості коригування відступів праворуч, ліворуч, зверху і знизу, а також ряд інших параметрів.
Взагалі-то всього описаного вище цілком достатньо для роботи, але є таке поняття, як "підв'язати бантики і шнурочки" і саме це ми і зробимо.
Отримати версію WORD: