Форум » [x]Harbour » Снова EXCEL (продолжение) » Ответить

Снова EXCEL (продолжение)

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

Ответов - 57, стр: 1 2 3 All

alex_II: Как сменить направление текста в ячейке?

Dima: alex_II Если мы про ориентацию то так например oSheet:cells(j,1):Orientation:=90

alex_II: Да, я это и имел в виду, спасибо


Dima: как сделать полноэкранный курсор (каким то цветом) в Excel ? ps я не про мышку

Dima: Проехали поставил FollowCellPointer

Dima: ComboBox кто нибудь делал в Excel средствами Harbour , можно примерчик ?

Andrey: Как в экселе сделать замену ВСЕХ символов ";" на "|" ? И подсчёт кол-ва замены можно сделать ? В Ворде знаю как, а в экселе не делал.

Alex_Cher: Андрей, привет ..... а у меня проблемы с вордом ... как в одной сроке установить разные символы ..? Вариант с поиском и заменой не подходит.

Dima: Andrey гугли )) https://www.excel-vba.ru/forum/index.php?topic=5574.0 https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=99894&TITLE_SEO=99894-makros-zamena-zapyatoy-na-tochku

Andrey: Не пойму как макрос Экселя переделать в Харборовский код ? [pre2] oExcel := win_oleCreateObject( "Excel.Application" ) oExcel:Visible := .F. // .T. показать Excel на экране для отладки oExcel:DisplayAlerts := .F. // убрать предупреждения Excel oExcel:Workbooks:Open( cFile, 0 ) oBook := oExcel:ActiveWorkBook() oSheet := oExcel:ActiveSheet() oRange := oExcel:ActiveCell:SpecialCells( xlLastCell ) nXlsRecno := oRange:Row // количество строк таблицы Excel nXlsColumn := oRange:Column // количество колонок Excel - НЕ всегда РАБОТАЕТ НОРМАЛЬНО ! // если 1-я строка объединена, то не работает //nXlsColumn := oSheet:UsedRange:Columns:Count // количество колонок Excel - РАБОТАЕТ .... // макрос экселя Cells.Replace What:=";", Replacement:="|", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False[/pre2]

Pasha: Объект Cells - это oSheet:Cells Я тебе в телегу кидал описание метода Replace: expression.Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat) expression Required. An expression that returns a Range object. Вместо ключевых параметров в макросе подставляешь позиционные для харбора

Andrey: Pasha пишет: Вместо ключевых параметров в макросе подставляешь позиционные для харбора Не понимаю как это сделать....

Pasha: Внимательно читаем инструкцию expression.Replace(... expression - это Cells, в макросе - Cells.Replace. Cells - это oSheet:Cells т.е. пишем: oSheet:Cells:Replace далее в инструции: expression.Replace(What, параметр What в макросе - это What:=";" т.е. пишем на харборе: oSheet:Cells:Replace(";", затем таким же макаром подставляем остальные параметры

Andrey: Pasha пишет: oSheet:Cells:Replace(";", Вот это и не знал как сделать ! Спасибо БОЛЬШОЕ ! Работает отлично ! [pre2] oSheet:Cells:Replace(";","|",xlPart,xlByRows,.F.,.F.,.F.)[/pre2] Только кол-во замен нет. Хотя это и не особо важно...

Andrey: Что-то совсем забыл как работать с Экселем.... Нужно удалить целиком первую строку в экселе. Макрос такой: [pre2] Rows("1:1").Select Selection.Delete Shift:=xlUp[/pre2] Как его переделать на Харбор ? Заранее БОЛЬШОЕ СПАСИБО за помощь.

Pasha: смотрим пример из minigui: Tsb4csvOle.prg /* * MINIGUI - Harbour Win32 GUI library Demo * * Copyright 2018 Verchenko Andrey <verchenkoag@gmail.com> Dmitrov, Moscow region */ там в самом конце есть цикл с удалением строки: FOR nI := LEN(aLineDel) TO 1 STEP -1 nLine := aLineDel[nI] oSheet:Cells( nLine, 1 ):Value := nI oExcel:Rows(nLine):Delete() NEXT

Andrey: Pasha СПАСИБО БОЛЬШОЕ ! Памяти уже совсем нет...



полная версия страницы