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




Пост 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 [только новые]


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




Пост N: 6668
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.05.20 19:02. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Можешь формировать дату hb_dtoc( dDate, "yyyy-mm-dd")


Отлично ! А тип ячеек менять надо ?

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




Пост N: 3198
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.05.20 19:13. Заголовок: Andrey hb_dtoc(dDat..


Andrey
hb_dtoc(dDate, "yyyy-mm-dd") возвращает строку ( как и DtoC(...) ), а второй параметр это шаблон, т.е.
SET DATE TO GERMAN
и DtoC(dDate) даст dd.mm.yyyy
с hb_dtoc() можешь динамически менять формат отображения
на выходе строка
Что бы не парится,что у клиента на машинах, всегда дату подаю в excel строкой, а бывает, что excel пытается съесть в свой формат, тогда добавляю слева пробел или &npsp;

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




Пост N: 3199
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.05.20 19:15. Заголовок: PS   правил..


PS
  правильно букву просмотрел

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




Пост N: 3946
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.05.20 20:28. Заголовок: Если заглянуть в киш..


Если заглянуть в кишки, то hbole преобразовывает значение типа дата в тип VT_DATE, и передает экселю команду присвоения для Value.
Если формат ячейки общий, то эксель, а он же гипер-супер-смарт, то есть умный, может преобразовать формат ячейки в дату, тогда значение отображается правильно.
А может не преобразовать, оставить его общим, тогда дата отображается как число.
Поэтому лучше формат ячейки указать самому. Можно не текстовый формат, а дату:

oCell:NumberFormat := "m/d/yyyy"

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





Пост N: 664
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 15.05.20 23:05. Заголовок: Тоже в свое время на..


Тоже в свое время намучился с датами. И апострофы подставлял, и ячейки форматировал. Всё не то.
Потом понял, что Excel хочет видеть дату только так: yyyy/mm/dd

Работает на всех версиях Excel и Windows. Плюс форматировать дополнительно ячейки не нужно.

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




Пост N: 7193
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.05.20 12:06. Заголовок: Sergy пишет: Потом ..


Sergy пишет:

 цитата:
Потом понял, что Excel хочет видеть дату только так: yyyy/mm/dd


Это ты про какой вариант ?
oCell:NumberFormat := "yyyy/mm/dd"
или
hb_dtoc( dDate, "yyyy/mm/dd")
?

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





Пост N: 666
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 16.05.20 23:46. Заголовок: Dima пишет: Это ты ..


Dima пишет:

 цитата:
Это ты про какой вариант ?
oCell:NumberFormat := "yyyy/mm/dd"
или
hb_dtoc( dDate, "yyyy/mm/dd")
?


Про содержимое ячейки: hb_dtoc( dDate, "yyyy/mm/dd")
После этого форматировать дополнительно уже редко нужно. Например, если только заголовки столбцов/колонок в специфическом виде, например "янв 20", или "Декабрь 2019"

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




Пост N: 6674
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.20 10:22. Заголовок: Всем привет ! А как ..


Всем привет !
А как задать показ листа в масштабе 75% ?

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




Пост N: 3947
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 18.05.20 10:28. Заголовок: Запись макроса слома..


Запись макроса сломалась ?

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




Пост N: 6675
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.20 11:11. Заголовок: Pasha пишет: Запись..


Pasha пишет:

 цитата:
Запись макроса сломалась ?


Да блин разбираться надо, а вдруг уже это кто-то давно решил...
У меня в экспорте цвет сломался, пока с этим разбираюсь.

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




Пост N: 7194
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.05.20 14:11. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как задать показ листа в масштабе 75% ?


oExcel:ActiveWindow:Zoom:=88

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




Пост N: 6676
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.20 18:53. Заголовок: Dima пишет: oExcel:..


Dima пишет:

 цитата:
oExcel:ActiveWindow:Zoom:=88


СПАСИБО !

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



Пост N: 123
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 12.06.20 10:24. Заголовок: Добрый день, коллеги..


Добрый день, коллеги.
используем:
xHarbour version...: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6476)
xHarbour built on..: Jun 11 2009 09:38:24
C/C++ compiler.....: Borland C++ 5.5.1 (32 bit)
перешли на OC Win10 pro + Excel 365 и нет прав администратора.
Программа формирует 500 отчетов в dbf и конвертирует их в Xlsx, затем последовательно собирает их в сводный (511 листов) Excel файл.
Программа валится в разных местах (файлах) при конвертации в Xlsx
Subsystem Call ....: Excel.Application:ACTIVEWORKBOOK:SHEETS
System Code .......: 3
Default Status ....: .F.
Description .......: DISP_E_MEMBERNOTFOUND
Operation .........: PASTE
Arguments .........:
Involved File .....:
Dos Error Code ....: 0

Trace Through:
----------------
до этого была OC Win8x64+ Excel 2010 и права администратора, ошибки не было, или была очень редко.

На ноутбуке OC Win10 pro +Excel 365 и права администратора - проблем нет.

ниже пример кода
вызов Excel
oExcel :=ToleAuto():New("Excel.Application")
oExcel_S:=ToleAuto():New("Excel.Application")

oExcel :Visible=.F.
oExcel :Set("DisplayAlerts",.F.)
oExcel :Workbooks:Open(Dbf_File)
oBook :=oExcel:ActiveWorkBook
oSheet :=oExcel:ActiveSheet
oAs :=oExcel:ActiveSheet()
oRange :=oExcel:ActiveCell:SpecialCells(xlLastCell)
cRecno :=oRange:Row
cColumn :=oRange:Column
/////

oAs:Range(oAs:Cells(2,2),oAs:Cells(cRecno,cColumn)):Select()
oAs:Range(oAs:Cells(2,2),oAs:Cells(cRecno,cColumn)):Copy()

// MS Excel и переключение на него
oExcel_S:Workbooks:Open(Day_Excel)
oExcel_S:Set("DisplayAlerts",.F.)
oExcel_S:Visible :=.F. // запуск сводного Excel
oBook_S :=oExcel_S:ActiveWorkBook
oAs_S :=oExcel_S:ActiveSheet()
oSheet_S:=oBook_S :Sheets(1):Select()
oSheet_S:=oBook_S :Sheets(1)
oSheet_S:Cells(1,1):Value=Hb_OemToAnsi(Ll_Say)
oSheet_S:Cells(2,1):Value=Hb_OemToAnsi(Ff_Say)
oSheet_S:Cells(2,3):Value=Dtoc(Date())+','+Substr(Time(),1,5)
oAs_S:Range(oAs_S:Cells(1,1),oAs_S:Cells(2,8)):Font:Bold:=.T.
// сводный Excel
oSheet_S:=oBook_S :Sheets(1):Select()
oBook_S :=oExcel_S:ActiveWorkBook
oAs_S :=oExcel_S:ActiveSheet()
oSheet_S:=oBook_S :Sheets(1):Select()
oSheet_S:=oBook_S :Sheets(1)
oAs_S :Cells(6,1):Select()
oSheet_S:Paste()
Hb_GtInfo(HB_GTI_CLIPBOARDDATA, "")

в чем может быть проблема?
ИБ не дают права локального администратора....
На виртуальной станции, там права админа - программа работает корректно (8х64 +Excel2010)

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




Пост N: 7201
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.06.20 12:56. Заголовок: Oskar_AAA пишет: пе..


Oskar_AAA пишет:

 цитата:
перешли на OC Win10 pro + Excel 365 и нет прав администратора.


А если их временно дать , что то изменится ?

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




Пост N: 1555
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.06.20 21:22. Заголовок: Переодически ловил н..


Переодически ловил непредсказуемые ошибки при копипасте В OLE. Если просто конвертить dbf в xlsx, забудьте про OLE. Посмотрите на xlsxml. В разы быстрее и не зависит от капризов екселя.
ps... 500 отчётов... я бы не выдержал, а ексель вообще уйдёт в

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




Пост N: 7202
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.20 10:59. Заголовок: Haz пишет: Посмотри..


Haz пишет:

 цитата:
Посмотрите на xlsxml


Хороший вариант по ходу

ЗЫ
Сам я пока на него не перешел но где то в далеких планах есть такой переход

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




Пост N: 3261
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.06.20 13:04. Заголовок: Dima пишет Сам я пок..


Dima пишет
 цитата:
Сам я пока на него не перешел но где то в далеких планах есть такой переход


У нас, не давно, опять было сообщении об аресте и конфискации парка pc у фирмы, за использование
продуктов майкрософт без лицензии (за этим следит созданная спец. организация). Дима, как только ваши
депутаты сообразят, что тут клондайк, тоже соорудят такое. Ведь "чем дальше в лес" ES тем больше бабла рубят.
Многие имеют в лучшем случае одну лицензию на excel и работают по очереди или openoffice и вариант xlsxml
очень удобен, т.к. без ole

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




Пост N: 7203
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 13.06.20 13:07. Заголовок: SergKis пишет: Ведь..


SergKis пишет:

 цитата:
Ведь "чем дальше в лес" ES тем больше бабла рубят.


Да в этот ES , у нас только когда все разворуют , вот тогда может и сообразят..........

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





Пост N: 255
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 13.06.20 13:18. Заголовок: Haz пишет: Переодич..


Haz пишет:

 цитата:
Переодически ловил непредсказуемые ошибки при копипасте В OLE.



Я заполнял небольшие таблицы, всё нормально было. А какие ошибки при каких операциях?

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




Пост N: 1556
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.06.20 13:41. Заголовок: rvu пишет: А какие ..


rvu пишет:

 цитата:
А какие ошибки при каких операциях?


Всё настроишь, все работает и вдруг через год или два валится на pagesetup или printquality это из последних. Часто на формат данных вдруг ругаться начинает. На копи пасте из одного листа в другую книгу, где то на сотом цикле может рухнуть.. Да и в целом очень зависимый механизм от версии офиса. При этом если произошла ошибка эусель как правило зависает в пямяти процессом и срубается только диспетчером тк так его не видно. Но самое нетерпимое это скорость работы этой Оли.

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

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