On-line: PSP, SergKis, tnsr2, гостей 2. Всего: 5 [подробнее..]
АвторСообщение
администратор




Пост N: 2372
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)


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

Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет , стр: 1 2 3 All [см. все]


Администратор




Пост N: 4118
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 09:59. Заголовок: Создаю книгу, заполн..


Создаю книгу, заполняю строки данными
Беру oSheet:HPageBreaks:Count. получаю 4 разделителя страниц
Визуально в книге их четыре и есть
Затем в цикле их перебираю. От одного до трех все в порядке, получаю адрес и номер строки разделителя
А на последний: oSheet:HPageBreaks(4) получаю ошибку: MEMBERNOTFOUND
В чем ошибка ? Как получить последний разделитель ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4405
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.23 12:09. Заголовок: Pasha Может от 0-3 ..


Pasha
Может от 0-3 ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4119
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 12:10. Заголовок: Глюк становится еще ..


Глюк становится еще непонятнее
Копаю дальше. Оказывается, неважно сколько получается HPageBreaks, Excel дает только первые три, а с четвертого - ошибка
Пересохранил книгу из формата xls в xlsx. Теперь Excel дает только первые два разделителя страниц, а с третьего и дальше - ошибка

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4120
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 12:12. Заголовок: Может от 0-3 ? Нет,..



 цитата:
Может от 0-3 ?



Нет, пробовал и так, нумерация всех коллекций в Excel идет с единицы

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4121
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 12:58. Заголовок: Сбросил пример на фа..


Сбросил пример на файлообменник. Здесь Excel дает только два разделителя страниц, а дальше ошибка

https://www.mediafire.com/file/gfo5rok5msncf3y/_pg.7z/file

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7817
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 14:21. Заголовок: Pasha пишет: Копаю ..


Pasha пишет:

 цитата:
Копаю дальше. Оказывается, неважно сколько получается HPageBreaks, Excel дает только первые три, а с четвертого - ошибка
Пересохранил книгу из формата xls в xlsx. Теперь Excel дает только первые два разделителя страниц, а с третьего и дальше - ошибка


у меня на 45-м упало
Excel 2010

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4122
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 14:46. Заголовок: Там всего 7 разделит..


Там всего 7 разделителей страниц

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7818
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 14:50. Заголовок: Pasha пишет: ам все..


Pasha пишет:

 цитата:
ам всего 7 разделителей страниц




Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7819
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 14:55. Заголовок: HPageBreaks Count 2..


HPageBreaks Count 211

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4123
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 15:37. Заголовок: Еще страньше. Я гоня..


Еще страньше. Я гонял на Excel 2016 и 2007. А предварительный просмотр сколько страниц дает ? Должно быть 8, как раз 7 разделителей

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7820
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 15:57. Заголовок: Да 8..


Да 8

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4406
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.23 16:29. Заголовок: у меня вышло (excel ..


PS.
Наверно, это не надо (убрал лишнее), смотрим только Sheet2 в примере
поставил nCnt := 8 или 10 (строки может надо анализировать) все загрузилось

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7821
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 17:06. Заголовок: https://i.postimg.cc..






Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4407
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.23 17:18. Заголовок: Dima Спасибо. Навер..


Dima
Спасибо.
Наверно, я Пашу не понял, он про разделитель страниц, а я про Sheet (их тут три)
А разве нельзя посчитать nCnt разделители от полученного кол-ва строк Sheet2, пробежав по ним ?
Ведь полученное, у меня, HPageBreaks Count 218, явно врет

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4124
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 17:46. Заголовок: У меня там строки ра..


У меня там строки разной высоты, поэтому я и выбираю те разделители, которые Excel поставил. Есть еще и сквозные строки, заголовки на каждой странице. Надо поймать все разделители страниц, и на каждой странице внизу добавить строку - итоги по странице. А разделители собаки такие не работают.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4408
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 25.09.23 18:01. Заголовок: Pasha пишет У меня т..


Pasha пишет
 цитата:
У меня там строки разной высоты, поэтому я и выбираю те разделители, которые Excel поставил.


Так я и предлагаю их посчитать, пробежав по всем строкам (получив сначала их кол-во, в LibXL от этого пляшу, Sheet->кол-во строк->...), тут не важно высоты строк. Запомнить номер строки перед символом (получить список) и потом в обратном порядке этого списка добавлять строки итоги на каждый лист Sheet2

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4125
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 18:18. Заголовок: Поскольку HPageBreak..


Поскольку HPageBreaks конкретно глючит, нашел другое решение:
В цикле по строкам опрашивать:

if oSheet2:Rows(nRow):PageBreak # xlNone

значит в этой строке разделитель страницы
Медленно будет конечно, но пока по другому не получается

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7822
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.09.23 18:52. Заголовок: Паша лови решение oE..


Паша лови решение
oExcel:ActiveWindow:View:= xlPageBreakPreview // 2
nCnt := oSheet2:HPageBreaks:Count() // 7

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4126
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.09.23 18:57. Заголовок: Спасибо, заработало ..


Спасибо, заработало !

Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет , стр: 1 2 3 All [см. все]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 171
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет