| Автор | Сообщение |
|
|
| постоянный участник
|
Пост N: 4144
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.04.15 22:50. Заголовок: Вопрос по Excel ?
Всем привет. Вопрос к знатокам Excel-я, как подсчитать сумму ВСЕХ значений с минусом и с плюсом ? 
|
 |

|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|
|
|
| |
Пост N: 1900
Зарегистрирован: 20.02.11
|
|
Отправлено: 12.03.23 15:28. Заголовок: Haz пишет: когда-то..
Haz пишет: где то так func main() local oExcel, oSheet local i := j := 0 oExcel := win_oleCreateObject( "Excel.Application" ) oExcel:Visible := .t. oExcel:Workbooks:Add() oExcel:Sheets(1):Select() oExcel:Sheets(1):Select() oSheet := oExcel:ActiveSheet oExcel:Sheets(1):Select() for i := 1 To 10 for j := 1 to 10 oSheet:Cells( i, j):Value := i*j end end oExcel:Sheets(1):Select() oExcel:Sheets(1):Copy(after:=oExcel:Worksheets(1)) oExcel:Sheets(1):Name := "1" oExcel:Sheets(2):Name := "2" oExcel:Sheets(2):Protect("Password") oExcel:Sheets(2):Visible := .f. return nil
|
 |

|
|
|
| |
Пост N: 7751
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.03.23 17:37. Заголовок: А как его поместить ..
А как его поместить в самый конец Sheets и как понять какой номер ему будет присвоен что имя сменить и пасс поставить ? Макрос в Excel мне выдал я потом преобразовал oSheet:copy(after:=oExcel:Worksheets(3)) Откуда он взял цифру 3 ?
|
 |

|
|
|
| |
Пост N: 7752
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.03.23 17:43. Заголовок: так нашел вроде Work..
так нашел вроде Worksheets(Worksheets.Count)
|
 |

|
|
|
| |
Пост N: 1901
Зарегистрирован: 20.02.11
|
|
Отправлено: 12.03.23 17:50. Заголовок: Dima пишет: А как е..
*PRIVAT*
|
 |

|
|
|
| |
Пост N: 7753
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.03.23 17:50. Заголовок: вот так вышло lastcn..
вот так вышло lastcnt:=oExcel:Worksheets:Count oSheet:Select() oSheet:copy(after:=oExcel:Worksheets(lastcnt)) oExcel:Sheets(lastcnt):Name :="Оргигинал" oExcel:Sheets(lastcnt):Protect("Колбаска") oSheet:Select() Спасибо
|
 |

|
|
|
| |
Пост N: 1902
Зарегистрирован: 20.02.11
|
|
Отправлено: 12.03.23 17:51. Заголовок: Dima пишет: вот так..
Dima пишет: 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7331
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.03.23 15:28. Заголовок: Имею такой документ ..
Имею такой документ после эскпорта из ТСБ функцией oBrw:ExcelOle() Как мне задать нужную ширину колонок, после создания документа ? 
|
 |

|
|
|
| |
Пост N: 7754
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.03.23 15:42. Заголовок: oSheet:Columns(1):Co..
oSheet:Columns(1):ColumnWidth := 3.86
|
 |

|
|
|
| постоянный участник
|
Пост N: 7332
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.03.23 16:17. Заголовок: Спасибо БОЛЬШОЕ !!! ..
Спасибо БОЛЬШОЕ !!! 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7336
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.03.23 17:44. Заголовок: Сделал так: oExce..
Сделал так: oExcel:Workbooks:Open( cFile, 0 ) oBook := oExcel:ActiveWorkBook() oSheet := oExcel:ActiveSheet() aWidth := {} For nI := 1 To oBrw:nColCount() nW := oBrw:aColumns[ nI ]:nWidth AADD( aWidth, nW ) ? nI, oBrw:aColumns[ nI ]:cName, nW Next For nI := 1 To LEN(aWidth) ? nI, oSheet:Columns(nI):ColumnWidth oSheet:Columns(nI):ColumnWidth := aWidth[nI] ?? "=>", oSheet:Columns(nI):ColumnWidth Next Вылет на 4 колонке: Error WINOLE/1006 Нельзя установить свойство ColumnWidth класса Range (0x800A03EC): Microsoft Office Excel (DOS Error -2147352567) Args: [1] = N 317 --------------------------------- Stack Trace --------------------------------- Called from WIN_OLEAUTO:_COLUMNWIDTH(0) Called from EXCELFILEREFINEMENT(271) in module: Tsb2xlsOleExtern.prg Called from TOEXCEL2(247) in module: Form_7Btn.prg Called from (b)MYCONTEXMENUEXPORT(48) in module: Form_7Btn.prg Called from _DOCONTROLEVENTPROCEDURE(0) В логе вот так: 1 NAME_1 50 2 NAME_2 48 3 NAME_3 48 4 NAME_4 317 5 NAME_5 167 6 NAME_6 167 7 NAME_7 167 8 NAME_8 167 9 NAME_9 167 10 NAME_10 588 1 4.4300 => 50.0000 2 1.8600 => 48.0000 3 4.4300 => 48.0000 4 8.2900 Там в эксель-файле 1 строка объединены колонки с 1 по 10. Это может как то влиять ? Что делать ? 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7338
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.03.23 19:44. Заголовок: Сделал короткий прим..
|
 |

|
|
|
|
|
| |
Пост N: 1911
Зарегистрирован: 20.02.11
|
|
Отправлено: 19.03.23 21:12. Заголовок: Andrey пишет: Кто м..
Andrey пишет: | цитата: | Кто может, подскажите пожалуйста, как задать ширину колонок в этом примере. |
| так ты просишь установить ширину 4 колонки в более чем 3 метра. Размеры в Excel задаются в см. ( в тсб в пикселях ) Это конечно косяк excel, мои колонки какую хочу ширину , такую и делаю. Но 3 метра , явно перебор
|
 |

|
|
|
| постоянный участник
|
Пост N: 7339
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.03.23 23:48. Заголовок: Haz пишет: Размеры ..
Haz пишет: | цитата: | | Размеры в Excel задаются в см. ( в тсб в пикселях ) |
| Блин, пролёт... Совсем про это забыл... Делал это же сам 3 года назад и забыл про это... Да, памяти уже совсем нет... Спасибо БОЛЬШОЕ ! 
|
 |

|
|
|
| |
Пост N: 393
Зарегистрирован: 03.12.08
|
|
Отправлено: 22.07.25 12:45. Заголовок: Как удалить лист из книги EXCELL ?
Добрый день , коллеги . Требуется удалить несколько листов из книги Excell (OLE) Отбой , сам разобрался :)
|
 |

|
|
|
| постоянный участник
|
Пост N: 8049
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.09.25 20:10. Заголовок: Всем добрый вечер. К..
Всем добрый вечер. Как в Экселе убрать в колонках значения 0, чтобы они не показывались ? Нашел такое в ИИ 3. Универсальная функция с настройкой формата harbour FUNCTION ExportWithZeros(aData, cFileName) LOCAL oExcel, oWorkbook, oWorksheet LOCAL i, j, nCols := 0 IF Len(aData) > 0 nCols := Len(aData[1]) ENDIF oExcel := WIN_OLECreateObject("Excel.Application") oExcel:Visible := .T. oExcel:DisplayAlerts := .F. oWorkbook := oExcel:Workbooks:Add() oWorksheet := oWorkbook:Worksheets(1) // Записываем данные FOR i := 1 TO Len(aData) FOR j := 1 TO Len(aData) oWorksheet:Cells(i, j):Value := aData[j] NEXT NEXT // Настраиваем отображение нулей для числовых столбцов IF nCols > 1 // Предполагаем, что первый столбец - текст, остальные - числа FOR j := 2 TO nCols cCol := Chr(64 + j) // Получаем букву столбца (A, B, C...) oRange := oWorksheet:Range(cCol + "2:" + cCol + AllTrim(Str(Len(aData)))) oRange:NumberFormat := "0" NEXT ENDIF // Гарантируем, что нули отображаются oWorksheet:DisplayZeros := .T. oWorkbook:SaveAs(IF(EMPTY(cFileName), "data.xlsx", cFileName)) RETURN .T. Ставлю у себя в проге: oExcel:Visible := .F. // .T. показать Excel на экране для отладки oExcel:DisplayAlerts := .F. // убрать предупреждения Excel oExcel:WorkBooks:Add() oBook := oExcel:ActiveWorkBook oSheet := oExcel:ActiveSheet .... oExcel:ActiveWindow:Zoom:= 77 oSheet:Range( "A1" ):Select() // переход курсора Excel oSheet:DisplayZeros := .F. // Настройки конкретного листа - нет показа 0 oExcel:Visible := .T. // показать Excel на экране Получаю вылет из программы. Почему ? Error WINOLE/1008 No exported variable: DISPLAYZEROS OS Error: -2147352570=Unknown error Args: [1] = L F --------------------------------- Stack Trace --------------------------------- Called from WIN_OLEAUTO:_DISPLAYZEROS(0) Called from BRW8XLSOLE(393) in module: zTsb8xlsOle.prg Called from LOGUSEREXCEL(66) in module: user2report_excel.prg Called from DO_WINDOWEVENTPROCEDURE(0) ....
|
 |

|
|
|
| |
Пост N: 1998
Зарегистрирован: 20.02.11
|
|
Отправлено: 29.09.25 22:56. Заголовок: Andrey пишет: Получ..
|
 |

|
|
|
| |
Пост N: 733
Зарегистрирован: 08.07.06
|
|
Отправлено: 30.09.25 01:31. Заголовок: Я обычно задаю форма..
Я обычно задаю формат нужных мне ячеек как строку, например: "0;-0;" Где точками с запятой разделены значения больше нуля, меньше нуля и сами нули. Если из этой строки убрать последнюю точку с запятой - нули видны. Если поставить - не видны.
|
 |

|
|
|
| постоянный участник
|
Пост N: 8050
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.09.25 05:47. Заголовок: Haz пишет: Потому ч..
Haz пишет: | цитата: | | Потому что это свойство окна, а не листа , об этом и сообщается в ошибке |
| А как тогда надо сделать ? 
|
 |

|
|
|
| |
Пост N: 1999
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.09.25 11:13. Заголовок: Andrey пишет: А как..
Andrey пишет: | цитата: | | А как тогда надо сделать ? |
| так в ссылке на справку в моем ответе даже пример есть 
|
 |

|
|
|
| |
Пост N: 8136
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.10.25 08:54. Заголовок: Haz пишет: А как то..
Andrey пишет: | цитата: | А как тогда надо сделать ? |
| Некто Verchenko Andrey в примере C:\MiniGUI\SAMPLES\Advanced\Tsb_Export_2\Tsb7xlsOle.prg пишет //oExcel:ActiveWindow:DisplayZeros := .F. // не показывать 0,00 в таблице
|
 |

|
|
Ответов - 194
, стр:
1
2
3
4
5
6
7
8
9
10
All
[только новые]
|
|