On-line: Мирослав, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
Dima
администратор




Пост N: 2372
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)


Ранее с Excel из Harbour ни когда не работал.
Поставили тут задачу.
У некоторых поставщиков есть определенные формы заказов.
Набраны они в Excel. Сейчас народ руками заполняет эти формы
и шлет по электронке поставщикам.
Задача сводится к тому что бы в этих формах находить
нужные коды товара и в нужной ячейке проставлять заказ.
Может ткнет кто носом с чего начать что бы не напороться на грабли.
Спасибо
Сами формы тут http://zalil.ru/33279066

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


vvv



Пост N: 57
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 21.12.18 12:07. Заголовок: Dima пишет: Для нач..


Dima пишет:

 цитата:
Для начала проверь , будет ли создаваться OLE объект Excel


Похоже, не создается.
Вот текст ошибки из примера "OLE"

 цитата:

--------------------- Internal Error Handling Information ---------------------

Subsystem Call ....: TOleAuto
System Code .......: -1
Default Status ....: .F.
Description .......: CO_E_CLASSSTRING
Operation .........: TOLEAUTO:NEW
Involved File .....:
Dos Error Code ....: 0



SergKis пишет:

 цитата:
схема работы с xml должна работать


Не, xml не подходит.
Суть работы в следующем: открыть xls файл (приходит со стороны), кое-что поменять и сохранить (с сохранением форматирования) под новым именем.
В принципе, есть работающий костыль на Йокселе, но Йоксель рандомно затирает формулы и приходится постоянно контролировать результат.
Иногда еще теряется формат ячеек, тоже рандомно. Причем потери возникают именно при открытии файла.

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




Пост N: 2165
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.18 12:38. Заголовок: vvv Если надо менят..


vvv
Если надо менять и присутствуют формулы ..., зачем искать приключений с portable, йоксель, просто установите excel.
Есть, конечно, LibXL (можно читать, писать и т.д.), но она платная

Спасибо: 0 
Профиль
vvv



Пост N: 58
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 21.12.18 12:57. Заголовок: Да сам не знаю, поче..


Да сам не знаю, почему ексель не хочется ставить. Может азарт какой "а можно ли без".

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


Пост N: 1492
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.12.18 13:11. Заголовок: Даже в Википедии нап..


Даже в Википедии написано, что

 цитата:
технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя


https://ru.wikipedia.org/wiki/Object_Linking_and_Embedding

Спасибо: 0 
Профиль
vvv



Пост N: 59
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 21.12.18 13:40. Заголовок: PSP пишет: Даже в В..


PSP пишет:

 цитата:
Даже в Википедии написано, что

цитата:
технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя


А вот здесь просто интересно, что вложено в данном конкретном случае в понятие "инсталлирована".
Портабельный excel присутствует, но он "не инсталлирован", однако работает.

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




Пост N: 2166
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.18 13:43. Заголовок: vvv пишет Может азар..


vvv пишет
 цитата:
Может азарт какой "а можно ли без"


В качестве фантазии\приключения (не пробовал) и азарта "а можно ли без". Вариант vba и макросов с назначением вып. макроса на клавишу Ctrl+Shift+... и попытки посылать из hb окну excel этих клавиш для выполнения нужного макроса (после run portable excel file.xls)

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


Пост N: 1493
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.12.18 13:45. Заголовок: vvv пишет: А вот зд..


vvv пишет:

 цитата:
А вот здесь просто интересно, что вложено в данном конкретном случае в понятие "инсталлирована".
Портабельный excel присутствует, но он "не инсталлирован", однако работает.


По-моему, у понятия "инсталлирована" нет двойного смысла. Оно однозначно.
"Неинсталлированный" excel работает сам по себе, но система о нем ничего не знает и поэтому не может создать экземпляр объекта на основании этого экселя.

Спасибо: 0 
Профиль
vvv



Пост N: 60
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 21.12.18 14:02. Заголовок: PSP пишет: "Неи..


PSP пишет:

 цитата:
"Неинсталлированный" excel работает сам по себе, но система о нем ничего не знает и поэтому не может создать экземпляр объекта на основании этого экселя.



Вот и хочется либо сообщить системе об этом екселе, либо, зная его месторасположение, использовать его мозги.

Спасибо: 0 
Профиль
vvv



Пост N: 61
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 21.12.18 14:04. Заголовок: SergKis пишет: В ка..


SergKis пишет:

 цитата:
В качестве фантазии\приключения (не пробовал) и азарта "а можно ли без". Вариант vba и макросов с назначением вып. макроса на клавишу Ctrl+Shift+... и попытки посылать из hb окну excel этих клавиш для выполнения нужного макроса (после run portable excel file.xls)



А можно попробовать в праздники, если делать нечего будет.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6988
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.18 14:28. Заголовок: vvv пишет: А можно ..


vvv пишет:

 цитата:
А можно попробовать в праздники, если делать нечего будет.


Погугли на предмет Portable Excel Create Ole Object

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3818
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.12.18 16:49. Заголовок: Скачал portable offi..


Скачал portable office с рутрекера:

https://rutracker.org/forum/viewtopic.php?t=5526478

а касперский его сразу грохнул, говорит мол: бяка, лечение невозможно
Нет ли ссылки без бяки ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6989
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.18 17:45. Заголовок: Pasha Забей в поиск..


Pasha
Забей в поиске на рутрекере лучше так
"Portable Office 2003"
Всего 12 ссылок

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3819
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.12.18 18:17. Заголовок: Да я видел эти сборк..


Да я видел эти сборки, в комментариях пишут: на win10 не идет, а у меня как раз она.
Автор сборок смотрю тот же

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6990
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.18 00:01. Заголовок: Pasha Паш забей на ..


Pasha
Паш забей на портабл , так как служба не загружена , ни чего не выйдет стандартными методами и придется
выкручиваться.

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


Пост N: 1494
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.12.18 09:26. Заголовок: vvv пишет: Вот и хо..


vvv пишет:

 цитата:
Вот и хочется либо сообщить системе об этом екселе, либо, зная его месторасположение, использовать его мозги.


"Сообщить" системе можно очень просто: инсталлировать)) Всё остальное - фантазии. Это всё равно, что иметь автомобиль без мотора и думать, что автомобилю можно просто "сообщить", что мотор лежит в гараже и машина будет ехать только от этого "знания")))

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6991
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.18 09:46. Заголовок: По ходу можно пробну..


По ходу можно пробнуть , но не факт что сработает.
Грузим Excel (portable) через hb_processOpen (например)
После пробуем что то типа oExcel := GetActiveObject( "Excel.Application" )


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1419
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 22.12.18 14:05. Заголовок: Можно и не пробовать


Портабле приложения запускаются в своем окружении "песочнице" и этому приложению подсовывается наследие системы где его подготовили. А вовсе не наоборот. OLE точно работать не будет. VBA и макросы будут. Но об этом уже выше написано. Более того, если даже всю подготовку сделать, к примеру в xml, то система не будут иметь ассоциированного приложения с этим xml. Нужно руками запустить портабле ехель и руками открыть файл xml.
Подобные приложения используются для работы в ручном режиме при угрозе влететь на лицензию. Для автоматизации они не годятся в привычном смысле. А для людей творческих, ничто не мешает из своей программы на харбуре запустить портабле ехель и дождавшись загрузки управлять ехелем нажимая на кнопки на его морде посылая соответствующие сообщения определенным окнам ехеля. Но это еще то шапито.

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




Пост N: 2167
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.12.18 18:56. Заголовок: Haz пишет Подобные п..


Haz пишет
 цитата:
Подобные приложения используются для работы в ручном режиме при угрозе влететь на лицензию


Для работы одну лицензию можно приобрести, не ней проделывать манипуляции с документами через ole и раздавать для использования в portable excel на другие pc. Будет дешевле, во всех смыслах, чем "шапито"

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1420
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 22.12.18 21:55. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для работы одну лицензию можно приобрести,


Согласен, но это к заказчику. А у заказчика в голове мозг по другому работает.

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


Пост N: 809
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.03.19 21:13. Заголовок: Посмотрел примеры - ..


Посмотрел примеры - в основном выгрузка в Excel.
У меня задача обратная - нужно прочесть данные с большого Excel файла
(несколько десятков тысяч записей ). Размеры файла могут быть разные, т.е.
не знаю сколько строк. Все читается через OLE, но очень долго, несколько минут.
Как ускорить ?

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 689
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет