|
|
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Отцы! Проблему с сортировкой в гриде кое-как поборол, спасибо, но у меня новая проблема: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Из БД (поле 'fio') вытягиваются пользователи, и я с ними шаманю уже в пределах xls-файла. Когда пользователей было ~300 - всё было хорошо, макрос отрабатывал без единой ошибки, быстро и чётко. Но после расширения пользователей стало ~3000, и макрос выпадает с печально известной vba-ошибкой "procedure too large" :( Уменьшаю количество пользователей - программа работает, увеличиваю - программа не работает. p.s. Да, у меня нет ответа на классический вопрос "а причём тут Delphi?", но может кто-нибудь подскажет, как можно этот макрос разбить на два или просто обойти такую ошибку? Макрос мой, каюсь, безобразный и без того уже урезан до предельного минимума, но я, признаться, не силён ни в Delphi, ни в Excel, поэтому и беспокою вас сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 15:45 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2Да, у меня нет ответа на классический вопрос "а причём тут Delphi?" Зачем это делается средствами экселя, а не дельфи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 16:06 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Почему? Буду честен: у меня уйдут годы (если не десятилетия) на реализацию аналога этого макроса на Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 17:17 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2 Буду честен : у меня уйдут годы (если не десятилетия) на реализацию аналога этого макроса на Delphi. Честность не твой конек... А тот код, что выше - честно содран? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 17:19 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Отчасти код мой, отчасти - ваш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 18:08 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Не бросайте меня, пожалуйста... Реально нуждаюсь в помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 19:46 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2Из БД (поле 'fio') вытягиваются пользователБД (СУБД) какая? подован2но может кто-нибудь подскажет, как можно этот макрос разбить на два или просто обойти...Выкинь весь Дельфийский синтаксис. Отавь только чистый VB-source/ И с этим текстом обратись на "Планету Excel" - нагуглишь сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 19:52 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
1) MySQL + DevArt 2) Макрос в чистом виде выдаёт точно такую же ошибку после, видимо, достижения сакральных 64-х килобайт. Вопрос, безусловно, исключительно в Excel, но сюда я обратился в надежде, что мне подскажут, как с помощью Delphi можно его побороть. Проблема только в том, что в Delphi я верю, а вот в себя - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 20:11 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
"Планету Excel" - нагуглил уже? Вот и спроси там. Ни Дельфи, ни ДевАРТ тут абсолютно ни причём. _____________________ Пресловутая бритва Оккама. Нафига лишние сущности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 20:18 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Меня и с той планеты отправят ещё дальше, как только увидят Код: pascal 1. 2. Вкратце: в некоем экселевском файле УЖЕ есть куча ФИО. Задача макроса сравнить эти ФИО с записями в БД, и в случае 100% совпадения вместо каждой ФИО прописать её уникальный id (то бишь соответствующий ей ordinal). Макрос, который я показываю - лишь один из нескольких (остальные занимаются предварительной косметикой, без которой никак нельзя: тримят, убирают пустые страницы, и прочее), но Excel падает только когда из MySQL вместо пары-тройки сотен приходит пара-тройка тысяч записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 20:34 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2> вместо пары-тройки сотен приходит пара-тройка тысяч записей. Учите SQL, юноша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 20:42 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
У меня есть два друга: один из них мастерски, прямо-таки виртуозно владеет гитарой, хотя и личного музыкального инструмента у него нет и не было никогда, и образование у него медицинское, но он просто душой/мозгами/сердцем чувствует, что и как нужно руками делать, чтобы извлекать правильные звуки, от которых окружающие в прямом смысле балдеют. А второй друг, несмотря на все потуги, никак не может элементарные гаммы и даже нотную грамоту освоить, хотя он перепробовал уже и десяток инструкторов, и полсотни разных и видео, и аудио, и текстовых курсов в надежде хоть немного приблизиться к той магии, которую вытворяет его друг... Не дано ему и всё тут, хотя и усилия им прикладывались титанические, и желание необъятное есть, и времени уделяется больше, чем всему другому. К чему это я: учение, конечно, свет - это неоспоримая истина. Но одним и без учебников что-то даётся легко, а другим и лопатой знания не накидаешь - просто голова не та... Свои пробелы в знаниях я и так публично демонстрирую, мне о них напоминать и уж тем более тыкать меня в них носом бессмысленно. И готовый код я по-хамски тоже не прошу. Я прошу лишь посильно помочь тех, кто наверняка сталкивался с похожей ситуацией и уже нашёл из неё выход. Либо тех, у кого есть желание, а главное силы и время помочь. Ситуацию я, по-моему, описал исчерпывающе, но если есть уточняющие вопросы - рад ответить, чтобы прояснить неясное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 21:01 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Код в VBA-редакторе выглядит так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 21:02 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2Код в VBA-редакторе выглядит так: Банальный экспорт. 17749041 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 21:19 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
подован2Код в VBA-редакторе выглядит так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Возможно, скажу глупость, но почему бы не прочитать текущее значение ФИО и не поискать для него идентификатор в базе ? Excel это умеет. Приведенный код мало того, что большой, так еще и медленный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 21:34 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Я скажу правильную мысль. Ты только не обижайся. Просто повторю. Прочитай книжку про реляционные базы данных и учи SQL. Миллионы констант (литералов) в коде - кирдык всему. Ты бы лучше запрос показал, каким образом ты получаешь эти "тысячи ФИО и их id" их базы. ___________________ Кстати! Что ты будешь делать с полными тёзками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 23:35 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Gatorкаким образом ты получаешь эти "тысячи ФИО и их id" из базы.И какой идиот согласится править (дополнять) твой Макрос? Ешщё миллионом строк... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 23:38 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Я превращаю английские формулы Excel в локальные так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. И во всех шаблонах это срабатывает, кроме одного шаблона а на нем не хочет. Он достаточно сложный и переделывать его заново очень неохота. Это наверное больше вопрос к знатокам Excel, что не так в этом шаблоне? Я его прикрепил к сообщению. Или может есть способ менять формулы на русские лучше чем делаю я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2017, 18:10 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Добрый вечер, коллеги. Есть процедура по выгрузке отчетов из грида в эксель Сам объект экселя создается через Код: pascal 1. Процедура выгрузки Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Перед выгрузкой пользователю открывается диалоговое окно, где он указывает путь, куда будет сохраняться Excel файл, а так же формат файла. При выборе .xls все проходит замечательно, а вот для .xlsx вываливается ошибка Could not convert variant of type (OleStr) into type (Double) Все бы ничего и пусть бы выбирали старый добрый формат .xls, но в некоторые отчеты нужно выгружать огромное кол-во колонок, которые умещаются только в .xlsx Причем на моем компе и на компах коллег программистов все замечательно формируется, а у пользователей нет. Отловить ошибку в дебаге просто не удается. Excel 2016 у всех. Есть идеи, в чем может быть проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 16:01 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
номер билда, патчи одинаковые? - были недавно пляски с Word'ом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 17:02 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
у всех, да, одинаковые. Плясок не было, т.к с вордом программно не работаем. Ничего не слышал о проблемах с ним ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2018, 08:21 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
у всех пользователей так? не зависит от офиса установленного на ПК? отказаться от CreateOleObject('Excel.Application') не хотите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2018, 13:19 |
|
||
|
Excel + Delphi
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня тоже обращение к Excel CreateOleObject('Excel.Application'). Вроде бы по-научному позднее связывание это называется. А можно как-нибудь узнать есть ли в области ячеек [Y1,X1,Y2,X2] объединенные ячейки (хотябы одна участвующая в объединении). Способ через пробегание по каждой мне уже известен (xls.Cells[Y,X].MergeArea.Columns.Count). А можно без обращения к каждой ячейки? Так ведь наверное будет намного быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2018, 12:36 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39008243&tid=2040796]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
203ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 516ms |

| 0 / 0 |
