Форум » [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 СПАСИБО БОЛЬШОЕ ! Памяти уже совсем нет...
полная версия страницы