|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
День добрый. Добавляю модуль в книгу Excel, (файл .bas). Если я обращаюсь к файлу книги первый раз, то модуль добавляется, и процедуры этого модуля выполняются полностью. Если же я, по какой то причине не сохранил файл Excel, просто закрыл его без сохранения, то при повторной попытке проделать ту же операцию, возникает ошибка и модуль не добавляется до тех пор, пока я не закрою базу и не зайду в неё снова. Прошу помощи. Так же хочу спросить, как можно добавить модуль в книгу Excel не через файл .bas а напрямую из базы Access. Спасибо. Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 07:06 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
Да, получается, что срабатывает через раз. Первый вставляет модуль, второй раз нет, третий вставляет. Как то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 07:14 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
simplyЕсли же я, по какой то причине не сохранил файл Excel , просто закрыл его без сохранения, то при повторной попытке проделать ту же операцию, возникает ошибка и модуль не добавляется до тех пор, пока я не закрою базу и не зайду в неё снова. Ну так сохраните его методом Save сразу после импорта. Лучше объясните, зачем вам это нужно. Ведь можно прямо из Акса выполнить почти любые действия с листом/книгой Ёкселя. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 17:37 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )simplyЕсли же я, по какой то причине не сохранил файл Excel , просто закрыл его без сохранения, то при повторной попытке проделать ту же операцию, возникает ошибка и модуль не добавляется до тех пор, пока я не закрою базу и не зайду в неё снова. Ну так сохраните его методом Save сразу после импорта. . Здесь вопрос не в сохранении книги, а в том, что после операции вставки модуля в первый файл Excel (книгу), я не могу проделать ту же операцию с другим файлом (книгой). т.е. отработал одну книгу, сохранил, закрыл. Пытаюсь проделать такую же операцию с другой книгой, книга открывается и дальше ничего не происходит, пока не перезапущу базу. Вопрос, что мешает? Первую книгу открыл, вставился модуль, сохранил, закрыл. Обращаюсь к следующей книге, открываю, модуль не вставился, закрыл книгу, закрыл базу, открыл базу и дальше все нормально. В связи с этим я задал вопрос №1: ЕСТЬ ЛИ ВОЗМОЖНОСТЬ ВСТАВИТЬ МОДУЛЬ (ПРОЦЕДУРУ) В КНИГУ EXCEL НАПРЯМУЮ, МИНУЯ ФАЙЛ .bas. БЕЗ ЭТОГО: Код: vbnet 1.
Анатолий ( Киев )Лучше объясните, зачем вам это нужно. Ведь можно прямо из Акса выполнить почти любые действия с листом/книгой Ёкселя. Объясняю, зачем мне это нужно: Я уже задавал этот вопрос здесь: http://www.sql.ru/forum/1284005/vernut-pri-importe-iz-excel-format-yacheyki но как то не пошло. У меня есть файл ексель с несколькими уровнями группировки, допустим их четыре как в моем случае. Мне нужно вернуть содержимое книги в базу Access вместе иерархией группировки. Что я делаю: 1. Вставляю файл модуля .bas с функцией, при помощи которой возвращаю номер уровня в группировке, т.е кол- отступов Код: vbnet 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
Анатолий ( Киев ) , я не часто проделываю операции Excel, опыта мало. Если это можно сделать красивее, буду признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 07:11 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 07:12 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
simply, Эко у вас как всё хітр0... Может просче сразу спрашівать то, что нужно? Вам нужно не коллічество отступов, а уровень в іерархіі для соответствуюсчей строкі, вот её і спрашівайте, можно прямо із Акса, я так думаю. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 15:35 |
|
Ошибка при добавлении модуля в книгу Excel
|
|||
---|---|---|---|
#18+
Если отказаться от применения функции КолОтступов, а просто пройти в цикле по ячейкам в этой колонке и присвоить им OutlineLevel (IndentLevel не надежно), то весь ваш код можно (и нужно) выполнить из Акса. Естественно, код нужно "причесать" для работы с Excel извне. В любом случае использование Select и Selection не рекомендуется (если только вы не собираетесь развлекать юзеров). По коду есть вопросы: Код: vbnet 1.
Какая ячейка выделена. Это 100% одна и та же? Код: vbnet 1. 2.
Что вы удаляете? Судя по файлу - все, что в нем есть, включая добавленный столбец. И главный вопрос - зачем это всё? ИМХО, нужно в цикле по строкам анализировать инфу и при OutlineLevel, указывающему на данные из акта, добавлять запись в Recordset, открытый на таблице-получателе. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 14:10 |
|
|
start [/forum/topic.php?fid=45&tid=1611565]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 414ms |
0 / 0 |