Автор | Сообщение |
Dima
|
| |
Пост N: 2372
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)
Ранее с Excel из Harbour ни когда не работал. Поставили тут задачу. У некоторых поставщиков есть определенные формы заказов. Набраны они в Excel. Сейчас народ руками заполняет эти формы и шлет по электронке поставщикам. Задача сводится к тому что бы в этих формах находить нужные коды товара и в нужной ячейке проставлять заказ. Может ткнет кто носом с чего начать что бы не напороться на грабли. Спасибо Сами формы тут http://zalil.ru/33279066
|
|
|
Ответов - 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 файл (приходит со стороны), кое-что поменять и сохранить (с сохранением форматирования) под новым именем. В принципе, есть работающий костыль на Йокселе, но Йоксель рандомно затирает формулы и приходится постоянно контролировать результат. Иногда еще теряется формат ячеек, тоже рандомно. Причем потери возникают именно при открытии файла.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2165
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.12.18 12:38. Заголовок: vvv Если надо менят..
vvv Если надо менять и присутствуют формулы ..., зачем искать приключений с portable, йоксель, просто установите excel. Есть, конечно, LibXL (можно читать, писать и т.д.), но она платная
|
|
|
vvv
|
| |
Пост N: 58
Зарегистрирован: 24.02.11
|
|
Отправлено: 21.12.18 12:57. Заголовок: Да сам не знаю, поче..
Да сам не знаю, почему ексель не хочется ставить. Может азарт какой "а можно ли без".
|
|
|
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
|
|
|
vvv
|
| |
Пост N: 59
Зарегистрирован: 24.02.11
|
|
Отправлено: 21.12.18 13:40. Заголовок: PSP пишет: Даже в В..
PSP пишет: цитата: | Даже в Википедии написано, что цитата: технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя |
| А вот здесь просто интересно, что вложено в данном конкретном случае в понятие "инсталлирована". Портабельный excel присутствует, но он "не инсталлирован", однако работает.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2166
Зарегистрирован: 17.02.12
|
|
Отправлено: 21.12.18 13:43. Заголовок: vvv пишет Может азар..
vvv пишет цитата: | Может азарт какой "а можно ли без" |
| В качестве фантазии\приключения (не пробовал) и азарта "а можно ли без". Вариант vba и макросов с назначением вып. макроса на клавишу Ctrl+Shift+... и попытки посылать из hb окну excel этих клавиш для выполнения нужного макроса (после run portable excel file.xls)
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1493
Зарегистрирован: 27.01.07
|
|
Отправлено: 21.12.18 13:45. Заголовок: vvv пишет: А вот зд..
vvv пишет: цитата: | А вот здесь просто интересно, что вложено в данном конкретном случае в понятие "инсталлирована". Портабельный excel присутствует, но он "не инсталлирован", однако работает. |
| По-моему, у понятия "инсталлирована" нет двойного смысла. Оно однозначно. "Неинсталлированный" excel работает сам по себе, но система о нем ничего не знает и поэтому не может создать экземпляр объекта на основании этого экселя.
|
|
|
vvv
|
| |
Пост N: 60
Зарегистрирован: 24.02.11
|
|
Отправлено: 21.12.18 14:02. Заголовок: PSP пишет: "Неи..
PSP пишет: цитата: | "Неинсталлированный" excel работает сам по себе, но система о нем ничего не знает и поэтому не может создать экземпляр объекта на основании этого экселя. |
| Вот и хочется либо сообщить системе об этом екселе, либо, зная его месторасположение, использовать его мозги.
|
|
|
vvv
|
| |
Пост N: 61
Зарегистрирован: 24.02.11
|
|
Отправлено: 21.12.18 14:04. Заголовок: SergKis пишет: В ка..
SergKis пишет: цитата: | В качестве фантазии\приключения (не пробовал) и азарта "а можно ли без". Вариант vba и макросов с назначением вып. макроса на клавишу Ctrl+Shift+... и попытки посылать из hb окну excel этих клавиш для выполнения нужного макроса (после run portable excel file.xls) |
| А можно попробовать в праздники, если делать нечего будет.
|
|
|
Dima
|
| |
Пост N: 6988
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.12.18 14:28. Заголовок: vvv пишет: А можно ..
vvv пишет: цитата: | А можно попробовать в праздники, если делать нечего будет. |
| Погугли на предмет Portable Excel Create Ole Object
|
|
|
Pasha
|
| Администратор
|
Пост N: 3818
Зарегистрирован: 23.05.05
|
|
Отправлено: 21.12.18 16:49. Заголовок: Скачал portable offi..
|
|
|
|
Dima
|
| |
Пост N: 6989
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.12.18 17:45. Заголовок: Pasha Забей в поиск..
Pasha Забей в поиске на рутрекере лучше так "Portable Office 2003" Всего 12 ссылок
|
|
|
Pasha
|
| Администратор
|
Пост N: 3819
Зарегистрирован: 23.05.05
|
|
Отправлено: 21.12.18 18:17. Заголовок: Да я видел эти сборк..
Да я видел эти сборки, в комментариях пишут: на win10 не идет, а у меня как раз она. Автор сборок смотрю тот же
|
|
|
Dima
|
| |
Пост N: 6990
Зарегистрирован: 17.05.05
|
|
Отправлено: 22.12.18 00:01. Заголовок: Pasha Паш забей на ..
Pasha Паш забей на портабл , так как служба не загружена , ни чего не выйдет стандартными методами и придется выкручиваться.
|
|
|
PSP
|
| постоянный участник
|
Пост N: 1494
Зарегистрирован: 27.01.07
|
|
Отправлено: 22.12.18 09:26. Заголовок: vvv пишет: Вот и хо..
vvv пишет: цитата: | Вот и хочется либо сообщить системе об этом екселе, либо, зная его месторасположение, использовать его мозги. |
| "Сообщить" системе можно очень просто: инсталлировать)) Всё остальное - фантазии. Это всё равно, что иметь автомобиль без мотора и думать, что автомобилю можно просто "сообщить", что мотор лежит в гараже и машина будет ехать только от этого "знания")))
|
|
|
Dima
|
| |
Пост N: 6991
Зарегистрирован: 17.05.05
|
|
Отправлено: 22.12.18 09:46. Заголовок: По ходу можно пробну..
По ходу можно пробнуть , но не факт что сработает. Грузим Excel (portable) через hb_processOpen (например) После пробуем что то типа oExcel := GetActiveObject( "Excel.Application" )
|
|
|
Haz
|
| |
Пост N: 1419
Зарегистрирован: 20.02.11
|
|
Отправлено: 22.12.18 14:05. Заголовок: Можно и не пробовать
Портабле приложения запускаются в своем окружении "песочнице" и этому приложению подсовывается наследие системы где его подготовили. А вовсе не наоборот. OLE точно работать не будет. VBA и макросы будут. Но об этом уже выше написано. Более того, если даже всю подготовку сделать, к примеру в xml, то система не будут иметь ассоциированного приложения с этим xml. Нужно руками запустить портабле ехель и руками открыть файл xml. Подобные приложения используются для работы в ручном режиме при угрозе влететь на лицензию. Для автоматизации они не годятся в привычном смысле. А для людей творческих, ничто не мешает из своей программы на харбуре запустить портабле ехель и дождавшись загрузки управлять ехелем нажимая на кнопки на его морде посылая соответствующие сообщения определенным окнам ехеля. Но это еще то шапито.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 2167
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.12.18 18:56. Заголовок: Haz пишет Подобные п..
Haz пишет цитата: | Подобные приложения используются для работы в ручном режиме при угрозе влететь на лицензию |
| Для работы одну лицензию можно приобрести, не ней проделывать манипуляции с документами через ole и раздавать для использования в portable excel на другие pc. Будет дешевле, во всех смыслах, чем "шапито"
|
|
|
Haz
|
| |
Пост N: 1420
Зарегистрирован: 20.02.11
|
|
Отправлено: 22.12.18 21:55. Заголовок: SergKis пишет: Для ..
SergKis пишет: цитата: | Для работы одну лицензию можно приобрести, |
| Согласен, но это к заказчику. А у заказчика в голове мозг по другому работает.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 809
Зарегистрирован: 13.10.05
|
|
Отправлено: 10.03.19 21:13. Заголовок: Посмотрел примеры - ..
Посмотрел примеры - в основном выгрузка в Excel. У меня задача обратная - нужно прочесть данные с большого Excel файла (несколько десятков тысяч записей ). Размеры файла могут быть разные, т.е. не знаю сколько строк. Все читается через OLE, но очень долго, несколько минут. Как ускорить ?
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|