Автор | Сообщение |
|
| |
Пост N: 2372
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)
Ранее с Excel из Harbour ни когда не работал. Поставили тут задачу. У некоторых поставщиков есть определенные формы заказов. Набраны они в Excel. Сейчас народ руками заполняет эти формы и шлет по электронке поставщикам. Задача сводится к тому что бы в этих формах находить нужные коды товара и в нужной ячейке проставлять заказ. Может ткнет кто носом с чего начать что бы не напороться на грабли. Спасибо Сами формы тут http://zalil.ru/33279066
|
|
|
Ответов - 57
, стр:
1
2
3
All
[только новые]
|
|
|
| Администратор
|
Пост N: 4118
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 09:59. Заголовок: Создаю книгу, заполн..
Создаю книгу, заполняю строки данными Беру oSheet:HPageBreaks:Count. получаю 4 разделителя страниц Визуально в книге их четыре и есть Затем в цикле их перебираю. От одного до трех все в порядке, получаю адрес и номер строки разделителя А на последний: oSheet:HPageBreaks(4) получаю ошибку: MEMBERNOTFOUND В чем ошибка ? Как получить последний разделитель ?
|
|
|
|
| постоянный участник
|
Пост N: 4405
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.23 12:09. Заголовок: Pasha Может от 0-3 ..
Pasha Может от 0-3 ?
|
|
|
|
| Администратор
|
Пост N: 4119
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 12:10. Заголовок: Глюк становится еще ..
Глюк становится еще непонятнее Копаю дальше. Оказывается, неважно сколько получается HPageBreaks, Excel дает только первые три, а с четвертого - ошибка Пересохранил книгу из формата xls в xlsx. Теперь Excel дает только первые два разделителя страниц, а с третьего и дальше - ошибка
|
|
|
|
| Администратор
|
Пост N: 4120
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 12:12. Заголовок: Может от 0-3 ? Нет,..
Нет, пробовал и так, нумерация всех коллекций в Excel идет с единицы
|
|
|
|
| Администратор
|
Пост N: 4121
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 12:58. Заголовок: Сбросил пример на фа..
|
|
|
|
| |
Пост N: 7817
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 14:21. Заголовок: Pasha пишет: Копаю ..
Pasha пишет: цитата: | Копаю дальше. Оказывается, неважно сколько получается HPageBreaks, Excel дает только первые три, а с четвертого - ошибка Пересохранил книгу из формата xls в xlsx. Теперь Excel дает только первые два разделителя страниц, а с третьего и дальше - ошибка |
| у меня на 45-м упало Excel 2010
|
|
|
|
| Администратор
|
Пост N: 4122
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 14:46. Заголовок: Там всего 7 разделит..
Там всего 7 разделителей страниц
|
|
|
|
| |
Пост N: 7818
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 14:50. Заголовок: Pasha пишет: ам все..
Pasha пишет: цитата: | ам всего 7 разделителей страниц |
|
|
|
|
|
| |
Пост N: 7819
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 14:55. Заголовок: HPageBreaks Count 2..
HPageBreaks Count 211
|
|
|
|
| Администратор
|
Пост N: 4123
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 15:37. Заголовок: Еще страньше. Я гоня..
Еще страньше. Я гонял на Excel 2016 и 2007. А предварительный просмотр сколько страниц дает ? Должно быть 8, как раз 7 разделителей
|
|
|
|
| |
Пост N: 7820
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 15:57. Заголовок: Да 8..
Да 8
|
|
|
|
|
| постоянный участник
|
Пост N: 4406
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.23 16:29. Заголовок: у меня вышло (excel ..
PS. Наверно, это не надо (убрал лишнее), смотрим только Sheet2 в примере поставил nCnt := 8 или 10 (строки может надо анализировать) все загрузилось
|
|
|
|
| |
Пост N: 7821
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 17:06. Заголовок: https://i.postimg.cc..
|
|
|
|
| постоянный участник
|
Пост N: 4407
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.23 17:18. Заголовок: Dima Спасибо. Навер..
Dima Спасибо. Наверно, я Пашу не понял, он про разделитель страниц, а я про Sheet (их тут три) А разве нельзя посчитать nCnt разделители от полученного кол-ва строк Sheet2, пробежав по ним ? Ведь полученное, у меня, HPageBreaks Count 218, явно врет
|
|
|
|
| Администратор
|
Пост N: 4124
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 17:46. Заголовок: У меня там строки ра..
У меня там строки разной высоты, поэтому я и выбираю те разделители, которые Excel поставил. Есть еще и сквозные строки, заголовки на каждой странице. Надо поймать все разделители страниц, и на каждой странице внизу добавить строку - итоги по странице. А разделители собаки такие не работают.
|
|
|
|
| постоянный участник
|
Пост N: 4408
Зарегистрирован: 17.02.12
|
|
Отправлено: 25.09.23 18:01. Заголовок: Pasha пишет У меня т..
Pasha пишет цитата: | У меня там строки разной высоты, поэтому я и выбираю те разделители, которые Excel поставил. |
| Так я и предлагаю их посчитать, пробежав по всем строкам (получив сначала их кол-во, в LibXL от этого пляшу, Sheet->кол-во строк->...), тут не важно высоты строк. Запомнить номер строки перед символом (получить список) и потом в обратном порядке этого списка добавлять строки итоги на каждый лист Sheet2
|
|
|
|
| Администратор
|
Пост N: 4125
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 18:18. Заголовок: Поскольку HPageBreak..
Поскольку HPageBreaks конкретно глючит, нашел другое решение: В цикле по строкам опрашивать: if oSheet2:Rows(nRow):PageBreak # xlNone значит в этой строке разделитель страницы Медленно будет конечно, но пока по другому не получается
|
|
|
|
| |
Пост N: 7822
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 18:52. Заголовок: Паша лови решение oE..
Паша лови решение oExcel:ActiveWindow:View:= xlPageBreakPreview // 2 nCnt := oSheet2:HPageBreaks:Count() // 7
|
|
|
|
| |
Пост N: 7823
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.09.23 18:56. Заголовок: Результат ..
Результат 1 2 3 4 5 6 7 7: 38 70 102 136 170 202 234
|
|
|
|
| Администратор
|
Пост N: 4126
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.09.23 18:57. Заголовок: Спасибо, заработало ..
Спасибо, заработало !
|
|
|
Ответов - 57
, стр:
1
2
3
All
[только новые]
|
|