Форум » [x]Harbour » Снова EXCEL » Ответить

Снова EXCEL

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

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Dima: fil Процесс формирования тормозит или уже готовая таблица ?

fil: Тормозит сам ввод разрыва станицы (даже попробовал вставить разрывы после созданияих документа, таже песня). Впечатление такое, что после каждой вставки запускается некая обработка

nick_mi: А долго это сколько? Я попробовал, ну чтоб для нормальной статистики, 200 разрывов- 5 секунд. Приведите кусок кода по разрывам


Dima: nick_mi пишет: Я попробовал, ну чтоб для нормальной статистики, 200 разрывов- 5 секунд. Пример не большой можно ? Проверю на своем оффисе 2003

nick_mi: [pre2] function main () local oExel local osheet local ocell local opagebreak local line_break local time1 local time2 cls time1 := time() If ( oExcel := win_oleCreateObject( "Excel.Application" ) ) != NIL oExcel:Visible := .t. oWorkBook := oExcel:WorkBooks:open("D:\PUBLIC\harbexamp\obdc.xls") osheet := oWorkBook:WorkSheets(1) opagebreak := osheet:HPageBreaks() line_break := 0 For I:= 1 to 200 line_break := line_break + 20 ocell := osheet:cells(line_break, 1) opagebreak: add (ocell) next oExcel:Visible := .t. time2 := time () @ 1,1 say "Time1="+ time1 + " Time2=" + time2 inkey (0) EndIf [/pre2]

Dima: nick_mi пишет: 200 разрывов- 5 секунд. Так и есть , 5 секунд.

nick_mi: Мож просто комп очень медленный, поэтому жутко тормозит

fil: Вроде разобрался - тормоза это следствия леченного вируса (именно с офисои иногда проблемы)

Dima: В EXCEL (2003) в меню Сервис - Параметры - Международные ,есть галя "Использовать системные разделители". Считать системные разделители я могу. А как считать разделители в самом EXCEL если галя снята с пункта "Использовать системные разделители" ? + Как узнать в каком положении находится пункт "Использовать системные разделители" (вкл/выкл)? ЗЫ Проехали , поюзал макрос (не думал что сработает)

Softlog86: Подскажите , как узнать номер последней строки в Эксел-таблице ? То есть нужно отследить , когда заканчиваются данные . С макросом как-то не получается :(

Dima: Softlog86 oSheet:UsedRange:Rows:Count

Dima: Вот такая вот табличка Большой беленький прямоугольник в левом верхнем углу - результат работы oSheet:Range(osheet:cells(1,1),osheet:cells(2,3)):MergeCells:=.t. Вопрос: Места в нём гуляй не хочу. Каким образом можно в нём написать несколько строк текста ?

Haz: а так osheet:cells(1,1):Value := "Несколько строк текста"

Dima: Ёлки , я пробовал руками в EXCEL это сделать не получилось. А из проги в ряд строк вывести не проблема оказывается ;) oSheet:Cells(1,1):Value:="Проверка1"+chr(10)+"Проверка2"+chr(10)+"TEST"+chr(10)+"hgjhgjhg"+chr(10)+"1111111111"

Haz: Dima пишет: руками в EXCEL это сделать не получилось вместо ENTER жми ALT+ENTER

Dima: Haz Дякую

Dima: Макрос EXCEL ActiveWorkbook.Colors(15) = RGB(234, 234, 234) Как сделать на Harbour ? Пробнул так OExcel:ActiveWorkbook:Colors(15):RGB(234,234,234) не компилится ........

Haz: Dima пишет: Макрос EXCEL Дим, а цвет чего он устанавливает ?

Dima: В EXCEL есть стандартные заливки фона. Например (Harbour) oSheet:Cells(jj,2):Interior:ColorIndex:=15 ColorIndex:=15 это 25 процентов серого а мне надо всего 15 процентов серого. Попробовал в EXCEL изменить цвет этой заливки и получил макрос который привел выше

Haz: понял ) тогда так OExcel:ActiveWorkbook:Colors(15, RGB(234,234,234) )



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