Winword и Excel

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Привет!

А чем можно сделать .doc и .xls файлы не используя собственно Word/Excel? Очевидно, что можно выводить в RTF/CSV. А можно ли сохранять данные в нативном формате, с форматированием итд?

Алексей Пуховский
Написал: ClaList(2)
Гость

Сообщение Гость »

Есть несколько OCX, реализующих аналогичный функционал.
Например, txtext (http://www.textcontrol.com) и Formula One (http://www.tidestone.com). С сайтов можно скачать триал-версии. Оба пакета значительно проще в программировании и удобнее, чем общение с MS Office по OLE/DDE. В последние версии MS Office входят Office Web Components - небольшой OCX Excel, но эти компоненты сохраняют только XML.

--
C уважением
Yuri
Адрес:yufil@mail.ru

А не с OCX бывает? Чтобы DLL с API? А то у нас большой геморой с регистрацией компонентов.

Алексей Пуховский

Компоненту можно зарегистрить прямо из Кларион. Например, Formula
One регистрируется как

UnlockThread; Call('ttf16.ocx','DllRegisterServer'); LockThread

Правда, в NT/2000/XP это требует статуса администратора...

Для работы требуется ровно один файл (два, если вызывается редактор
таблиц), который может быть помещён в каталог программы.

API-интерфейс есть у Txtext, но, мягко говоря, не слишком
простой. Хотя OCX, наверное, все равно придётся зарегистрировать.

С другой стороны, реализация в качестве OCX даёт ВИЗУАЛЬНОЕ
отображение этих объектов непосредственно на экранах Кларион. Я долго
пытался добиться аналогичного эффекта для MS Office, используя
Prop:Document, но стабильной, без зависаний и слётов, работы так и не достиг.

А вот для таблиц Formula One и документов TxText - с лёгкостью
(ну, почти :)

Ну, ещё генератор отчётов List&Label (http://www.combit.net) позволяет печатать отчёты в формате XLS, причём в двух вариантах - полновесная копия исходного отчёта или чистые данные. Тоже полезная штука, хотя и весьма объёмная

--
C уважением
Yuri
Компоненту можно зарегистрить прямо из Кларион. Например, Formula
Правда, в NT/2000/XP это требует статуса администратора...
Вот именно, у нас _тысячи_ клиентских установок и мы к сожалению не можем требовать регистрации OCX на каждой машине. А нет ли в той же Формуле возможности управлять его через COM и чтобы без визуального отображения?
API-интерфейс есть у Txtext, но, мягко говоря, не слишком простой. Хотя OCX, наверное, все равно придётся зарегистрировать.
TxText у нас, кажется, есть, надо поискать...
Он формирует Word файл или RTF?
Не знаешь, может ли TxText открывать DOC файлы и заполнять поля формы?
С другой стороны, реализация в качестве OCX даёт ВИЗУАЛЬНОЕ отображение этих объектов непосредственно на экранах Кларион.
Это, вобщем то, слава богу, не требуется. Надо только результаты выкинуть в заданном формате.
Ну, ещё генератор отчётов List&Label
Да, мы им пользуемся, для Excel это, конечно, вариант. Единственное, что его рантайм состоит из реальной такой кучки файлов (9 штук / 2.6Mb). Для большой программы это сойдет, а для утилитки - будет грустно.

Алексей Пуховский
А нет ли в той же Формуле возможности управлять его через COM и чтобы без визуального отображения?
Опять же-включи регистрацию в саму программу. И выполняй её всегда при пуске программы. После однократной регистрации будет работать. А в случае краха системы можно попросить запустить один раз в режиме администратора.

А без визуального отображения - нет проблем :)

Formula#=Create(0,Create:Ole)
Formula#{Prop:Type}=....

Пока не будет Unhide, визуального отображения и не будет. Другой вариант - выдвинуть контрол за край окна. Когда-то и так делал...
TxText у нас, кажется, есть, надо поискать...
Он формирует Word файл или RTF?
Word,Rtf,HTML+CSS,XML+DTD
Не знаешь, может ли TxText открывать DOC файлы и заполнять поля формы?
Может, с некоторыми небольшими ограничениями.
Да, мы им пользуемся, для Excel это, конечно, вариант. Единственное, что его рантайм состоит из реальной такой кучки файлов (9 штук / 2.6Mb). Для большой программы это сойдет, а для утилитки - будет грустно.
Есть такое дело... Но утилитка может и в Db3/Csv написать... Кстати, ещё один вариант - выгонять это дело в HTML-таблицу с расширением XLS.
Excel её откроет...

--
C уважением
Yuri
Написал: ClaList(2)
Ответить