On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 187
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 13.11.14 22:58. Заголовок: Нужно сохранить отчет в формате .DOC для Microsoft Word . КАК?


Пока предполагаю по аналогии с .XLS созданием методом OLE .
У меня отчет - бланк Наряд-заказа с СТО с реквизитами сторон , тремя таблицами
и итогами .... Для красоты несколько линий для разделения тематики .



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 31 , стр: 1 2 All [только новые]


постоянный участник




Пост N: 3715
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.11.14 00:18. Заголовок: Softlog86 пишет: По..


Softlog86 пишет:

 цитата:
Пока предполагаю по аналогии


Ну и ??? Дальше предположений дело ушло ???

Открыт уже документ или еще не открыт документ, внесены реквизиты в документ или нужно ещё только внести, да и сохранять по разному можно....
Поищи здесь на форуме, я давно в хХарборе выкладывал рабочий пример создания/записи doc-файла.
С помощью наших ГУРУ мне удалось тогда сделать рабочую версию программы.
У себя поискал, не нашёл. Ищи здесь на форуме.

Спасибо: 1 
ПрофильЦитата Ответить
администратор




Пост N: 4262
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.14 09:53. Заголовок: поиск на форуме Word..


поиск на форуме Word.Application

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 188
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 14.11.14 13:10. Заголовок: Уточнение : Документ..


Уточнение : Документ готовится для печати через MiniPrint - функции . Хочется добавить Экспорт(сохранение) этого документа в .DOC для дальнейшей обработки средствами MicrosoftWord уже другими людьми на других компах .
Пока не могу понять как работать с таблицами ( заполнять данные , располагать на листе ) , рисование линий , и т д .
Был-бы признателен за какой-нибудь пример



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4263
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.14 14:10. Заголовок: Softlog86 Почему бы..


Softlog86
Почему бы сразу все не формировать через MS WORD ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3716
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.11.14 17:53. Заголовок: Softlog86 пишет: Ут..


Softlog86 пишет:

 цитата:
Уточнение : Документ готовится для печати через MiniPrint - функции . Хочется добавить Экспорт(сохранение) этого документа в .DOC для дальнейшей обработки средствами MicrosoftWord



Это кто же сделает тебе программу экспорта из MiniPrint в DOC файл ?
По моему doc-файл закрытый формат и его право имеют использовать только Microsoft, т.е. создавать файлы такого формата. Читать могут все.
Но может я и ошибаюсь.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 189
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 14.11.14 21:56. Заголовок: Андрей , ты не понял..


Андрей , ты не понял . Нужна помощь именно в моментах вроде 'как нарисовать линию' и 'как вставить (создать) таблицу внутри документа' . Затем сохранение готового листа в файл ..... Разумеется всё это посредством вызова OLE MSWord .


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4264
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.14 22:00. Заголовок: Softlog86 пишет: Н..


Softlog86 пишет:

 цитата:
Нужна помощь именно в моментах вроде 'как нарисовать линию' и 'как вставить (создать) таблицу внутри документа' .


Это нужно сделать в miniprint или в OLE MSWord ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3717
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.11.14 22:02. Заголовок: Давай по шагам (сам ..


Давай по шагам (сам страдаю косноязычием, не всегда могу объяснить чего я хочу).

1) Имеется готовый уже файл doc ?
2) Открываем его и рисуем линию, таблицу и т.д. ?
Так ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4265
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.11.14 22:06. Заголовок: Andrey пишет: Давай..


Andrey пишет:

 цитата:
Давай по шагам (сам страдаю косноязычием, не всегда могу объяснить чего я хочу).


Жесть , он же писал что в Miniprint все делает. Читал ? :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3718
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.11.14 23:09. Заголовок: Dima пишет: Жесть ,..


Dima пишет:

 цитата:
Жесть , он же писал что в Miniprint все делает. Читал ? :)



Softlog86 пишет:

 цитата:
Андрей , ты не понял . Нужна помощь именно в моментах вроде 'как нарисовать линию' и 'как вставить (создать) таблицу внутри документа' . Затем сохранение готового листа в файл ..... Разумеется всё это посредством вызова OLE MSWord .



?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 190
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 15.11.14 11:29. Заголовок: Сейчас форма выводит..


Сейчас форма выводится вот такими командами :
--------------------------------------------------------

SELECT PRINTER mPrinter ORIENTATION PRINTER_ORIENT_PORTRAIT PREVIEW
START PRINTDOC NAME "ZAKAZ-NARYAD"
START PRINTPAGE
@ 15 , 80 PRINT 'ЗАКАЗ-НАРЯД № '+MyORDER FONT 'ARIAL' SIZE 15 BOLD
@ 25 , 20 PRINT 'Заказчик:' FONT 'ARIAL' SIZE 8
@ 30 , 20 PRINT 'Адрес:' FONT 'ARIAL' SIZE 8
..........................................................................
// Рамка-заголовок
@ 45 , 10 PRINT RECTANGLE TO 52, 200 PENWIDTH 0.2 COLOR YELLOW FILLED ROUNDED
@ 46 , 20 PRINT 'Марка'
@ 46 , 50 PRINT 'Модель'
.......................................................................
// Вывод содержимого таблицы ВЫПОЛНЕННЫЕ РАБОТЫ
For i:=1 to N
@ Start , 10 PRINT RECTANGLE TO Start+Pripusk, 200 PENWIDTH 0.2 COLOR BLACK // Рамка
@ Start+Dta,10+2 PRINT ALSTR(i) FONT 'ARIAL' SIZE 8 // No
@ Start+Dta,20 PRINT LEFT(UPPER(ADATA1[i,1]),50) FONT 'ARIAL' SIZE 8 // Наименование работ/услуг
@ Start+Dta,145 PRINT ADATA1[i,2] FONT 'ARIAL' SIZE 8 // Норматив времени
Start:=Start+Pripusk //Припуск в ММ
NEXT i
// Вертикальные линии (столбцы )
@ sBegin , 18 PRINT LINE TO Start,18 PENWIDTH 0.2 COLOR BLACK
@ sBegin ,130 PRINT LINE TO Start,130 PENWIDTH 0.2 COLOR BLACK
.................................................................................................................
Start:=Start+3
@ Start ,115 PRINT 'Всего по заказ-наряду: '+ALSTR(Itogo_WORK+Itogo_GOODS)+'.р' FONT 'ARIAL' SIZE 10
END PRINTPAGE
END PRINTDOC
------------------------------------------------------------------------------------------------------------------------------
Задача - сделать такой-же отчет , только в .DOC . Видимо придётся писать что-то подобное для вывода через OLE :

1) Запускаем WORD если он не был открыт до этого
2) Создаём пустой лист
3) Заполняем информацией
4) Сохраняем в .DOC
5) Закрываем WORD (если открыт этой программой)

Трудности в незнании некоторых команд внутри самого WORD : Как вставлять (рисовать?) таблицы . Рисование рамок , линий и т д .
Думал найти готовый пример ....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4266
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.11.14 12:10. Заголовок: Softlog86 пишет: Тр..


Softlog86 пишет:

 цитата:
Трудности в незнании некоторых команд внутри самого WORD


Поюзай макросы в самом Word и посмотри что он использует на нужных тебе операциях.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 113
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 15.11.14 12:17. Заголовок: ..Думал найти готовый пример


Варианты:
1) использование шаблонов отчетов в том же формате, что и отчет (XLS ,DOC, RTF ..). Для каждого отчета -свой файл шаблона.
В шаблоне - тэги для замены на реальные значения при формировании отчета. Пример развития - FastReport
2)Стандартизуете вывод с miniprint не в конечный отчет,а в полуфабрикат(метаязык), который потом универсальным (своим же) модулем будете перегонять в DOC, XLS,RTF... Пример - формат PDF или XPS
3)Сразу создать PDF-файл, библы есть. Кстати, сразу можно решить проблему защиты готового документа от корректировки недобросовестным юзером. Просмотр и печать отчетов можно либо AdobeReader или Sumatra, оба Freeware
4) Вывод через OLE как правило требует для подготовки отчета наличие компонента, то есть возникает требование, что на компе юзера MS Word должен быть, а это уже принудительны затраты юзера. Можно было бы использовать OpenOffice, но иногда юзер не хочет иметь лишние компоненты на своем компе.
5)...ну и т.д.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 191
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 15.11.14 13:08. Заголовок: Метод с шаблонами на..


Метод с шаблонами наиболее удобен . Помогите разобраться в части тэгов и работы с ними . Лучше на примере :)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 114
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 15.11.14 13:26. Заголовок: Шаблоны, тэги..


Поищу примеры, еще на Клиппере видел у кого-то.
Но все достаточно просто.
Создаете файл нужного формата, в определеном месте документа размещаете тэг, скажем #Title
При создании отчета вместо #Title вставляете значение своей программной переменной Title
Тэги типа таблицы $Table - посложнее, но все равно нетрудно.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3721
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.14 15:00. Заголовок: Softlog86 пишет: 1)..


Softlog86 пишет:

 цитата:
1) Запускаем WORD если он не был открыт до этого
2) Создаём пустой лист
3) Заполняем информацией



xHarbour\tests\testole.prg
и далее
Dima пишет:

 цитата:
поиск на форуме Word.Application



http://clipper.borda.ru/?1-4-0-00000218-000-0-0-1346058933
и др.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 13
Зарегистрирован: 22.01.14
ссылка на сообщение  Отправлено: 15.11.14 16:42. Заголовок: Нужно сохранить отчет в формате .DOC для Microsoft Word . КАК?


Во времена, когда все писалось на Clipper, а появились лазерные принтеры и отчеты
пользователи захотели видеть красивыми, очень помогла утилитка RepoRTF(генератор отчетов
в Word'овском формате RTF, а также в форматах txt и html). До этого все отчеты генерились
в собственном генераторе отчетов, потребовались минимальные переделки программ, чтобы все
генерировалось через переходник. Довольно сложные отчеты с несколькими уровнями детализации
получалось делать.
О утилитке можно более подробно почитать на http://www.vsi.ru/~apl (взято из документации).
Утилитка бесплатная, шла с исходными кодами на C и Pascal. При желании наверное можно было бы
переписать, чтобы прилинковывать к Harbour программам, но знаний не хватает.
На ПК пользователя должен присутствовать Word. В архиве поставки есть множество примеров-шаблонов.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3723
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.14 18:03. Заголовок: У себя еще на Клипер..


У себя еще на Клипере сделал и до сих пор пользуюсь отчетами в RTF.

Считываю внешний файл dogov_dom.info (как ини), считываю rtf-файл указанный в .info как строку, делаю влоб замену строк в файле (типа '`01' на 'ALLTRIM(STR(FIELD->Ndog))' ), далее сохраняю эту строку во временную папку как rtf-файл и открываю этот файл через WORD (открывать можно и через Open Office).

С 2000 года работает. Правда нужно аккуратно делать разметку в rtf.

Вот пример dogov_dom.info:
[Настройка]
Имя_формы = "Договор-приватизации на дом"
Файл_шаблона = "dogov_dom.rtf"
Отладка = .F.

[Поля]
Поле_1 = { '`01' , 'ALLTRIM(STR(FIELD->Ndog))' }
Поле_2 = { '`02' , 'SAY_DATA(FIELD->DateDog)' }
Поле_3 = { '`03' , 'MEMOLINE(PRIV_FIO(9),77,1)' }
Поле_4 = { '`04' , 'MEMOLINE(PRIV_FIO(9),77,2)' }
....
Поле_8 = { '`05' , 'PRIV_ADRES(2)' }
Поле_10 = { '`07' , 'DTOC(FIELD->DateOrder)' }
Поле_15 = { '`73' , 'TRANSFORM(FIELD->DateInv,"99.99.9999")' }


А в тексте RTF выглядит так:



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4267
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.11.14 18:48. Заголовок: Andrey пишет: и отк..


Andrey пишет:

 цитата:
и открываю этот файл через WORD (открывать можно и через Open Office).


А можно и средствами Wordpad , он входит в OS

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 466
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.11.14 20:03. Заголовок: А можно и средствами..



 цитата:
А можно и средствами Wordpad



Он таблицы не поддерживает

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 31 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет