|
|
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Обращаюсь к листу Экселя ч-з ADO как к таблице. Если не делать обработку ошибки, то до строк Код: plaintext 1. Аксакалы, подскажите, где какие галочки в настройках Эксель 2007 нужно поставить (или снять). ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2011, 19:52 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Настройки Excel, скорее всего, не причем, а виноват или примененный метод и/или код. Ответьте на вопросы: 1. Обрабатываемая книга открыта в Excel или нет? 2. Обрабатываемая книга доступна нескольким пользователям? 3. Если по п.2 ответ утвердительный, то создана ли она как книга с общим доступом? 4. По 2-м строчкам кода трудно оценить его корректность, покажите остальные, если они не секретные. Ответы на первые 3 вопроса, наверное, будут такими: 1-нет, 2-да, 3-нет. Угадал? - Уточните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 03:15 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Я беру данные СЕЛЕКТом с 1-го листа этой книги и вставляю его на другой лист этой же книги. При ошибке на рабочем компе возникает экземпляр Экселя с этой книгой, открытой только для чтения. Дома у меня такого не происходит. Подскажите, где какие настройки в Экселе 2007 нужно посмотреть. Я как-то 100500 лет назад все настроил дома как мне нужно было и сейчас уже не помню, что и где. ЗЫ Код смотреть смысла нет, проблема не в кривом коде, а в этих создаваемых экземплярах Экселя при возникновении ошибки. До обработки On Error во всех книгах у меня пока руки не дошли. ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 09:33 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Такой код, к примеру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 09:45 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 10:02 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
к слову, "рисковые" вы такие имена переменным даёте ... )) кладовщикТакой код, к примеру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 10:43 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
ё, ага, согласен вместо Connection > Содержимое религия не позволяет писать?? зато другие будут знать, что это слово можно менять по своему усмотрению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 12:34 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
кладовщикПодскажите, где какие настройки в Экселе 2007 нужно посмотреть. Я как-то 100500 лет назад все настроил дома как мне нужно было и сейчас уже не помню, что и где.Предполагаю, что в те далёкие времена уважаемый кладовщик не пользовался 2007-м офисом. Строки соединеия для Excel 2007 спасут гиганта мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 14:26 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
пробуй камнемкладовщикПодскажите, где какие настройки в Экселе 2007 нужно посмотреть. Я как-то 100500 лет назад все настроил дома как мне нужно было и сейчас уже не помню, что и где.Предполагаю, что в те далёкие времена уважаемый кладовщик не пользовался 2007-м офисом. Строки соединеия для Excel 2007 спасут гиганта мысли. Я обращаюсь к диапазонам в книге .xls. Потому мне и хочется знать, что в настройках 2007 Экселя нужно подкрутить, чтобы возникновение ошибки не вызывало вышеуказанную проблему. По-хорошему нужно, конечно, везде обработчик ошибки вставить, но как-то все лень. Я не являюсь религиозным человеком, а пример с названиями переменных, по-моему, 1 в 1 у старичка Уокенбаха позаимствовал. Думал, что он плохого в примерах не даст. А что, какие-то коллизии могут возникнуть с именами переменных Connection и Recordset? ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 16:17 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
кладовщик, >А что, какие-то коллизии могут возникнуть с именами переменных Connection и Recordset? Именно с этитими как Вы убедились нет, просто юзер сказал опасно, то есть осторожней не повторить Стринг, Доубле и т .д. Да и вообщето мне кажется переборщить нельзя ругаться будет ВБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 16:50 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
ёкладовщик, Опять про незакрытый Excel Если Вы имели в виду Анатолий ( Киев )На заметку... Чтение данных средствами JET из открытого Excel файла гарантировано оставляет незавершенный процесс. И MS это подтверждает. , то на практике я подтверждения истинности этого тезиса не наблюдаю. Сейчас специально запустил СЕЛЕКТ с обработкой ошибки, после чего просто закрыл Эксель - ни 1-го процесса Эксельного я не вижу. ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 18:56 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
кладовщикЯ обращаюсь к диапазонам в книге .xls. Потому мне и хочется знать, что в настройках 2007 Экселя нужно подкрутить, чтобы возникновение ошибки не вызывало вышеуказанную проблему. По-хорошему нужно, конечно, везде обработчик ошибки вставить, но как-то все лень. Я не являюсь религиозным человеком, а пример с названиями переменных, по-моему, 1 в 1 у старичка Уокенбаха позаимствовал. Думал, что он плохого в примерах не даст...? Есть вера в абсолют Уокенбаха, в то, что он не ошибается. Изучается одна из его великих книг - Библия по Excel и VBA Присутствуют предрассудки, что в Excel есть установки, исправляющие ошибки кода. И при этом не религиозный? :-) Если серьезно, то 1. По поводу строк соединения для excel 2007 уже было замечание от пробуй камнем . Но если строк на листе будет не более 65536, то сгодится. 2. Если создаются объектные переменные, то их нужно самому освобождать с помощью приравнивания к Nothing, причем сначала дочерние, а затем родительские, но не наоборот. В Вашем фрагменте кода не видно ни объявлений переменных, ни освобождения памяти от них. 3. Если есть ADODB.Connection.Open то в конце перед выполнением п.2 должно быть ADODB.Connection.Close 4. Как бы Вам лениво не было, мне тоже лениво писать об этом, но для ситуаций, которые могут привести к ошибкам, нужно отлавливать ошибки по On Error Goto error_label и передавать управление на метку error_label: с сообщением об ошибке If Err Then MsgBox Err.Description и последующим Close по п.3 и освобождением объектных переменных по п.2. Иначе память засоряется не освобожденными объектными переменными. 5. Использование ADO для книг, открытых в Excel, всегда означают утечки памяти: http://support.microsoft.com/kb/319998 Сами утечки небольшие, но их очередная порция возникают при каждом запросе, и если запросов ожидается много, то дефрагментация внутренней памяти Excel может привести к ошибке Out Of Memory. Только закрытие приложения Excel освобождает память от таких утечек. 6. Вы не ответили по п.2 и 3 моего предыдущего сообщения, в зависимости от этих ответов есть ситуация, приводящая к описанным Вами проблемам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 23:30 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
У Вас в 1-м сообщении закрывается и освобождается только объект Connection. Объект Recordset тоже нужно закрывать (Close) перед закрытием Connection. Шаблон такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2011, 23:40 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Исправление опечатки: ZVI... то де фрагментация внутренней памяти Excel может привести к ошибке Out Of Memory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2011, 01:24 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
ZVIкладовщикЯ обращаюсь к диапазонам в книге .xls. Потому мне и хочется знать, что в настройках 2007 Экселя нужно подкрутить, чтобы возникновение ошибки не вызывало вышеуказанную проблему. По-хорошему нужно, конечно, везде обработчик ошибки вставить, но как-то все лень. Я не являюсь религиозным человеком, а пример с названиями переменных, по-моему, 1 в 1 у старичка Уокенбаха позаимствовал. Думал, что он плохого в примерах не даст...? Есть вера в абсолют Уокенбаха, в то, что он не ошибается. Изучается одна из его великих книг - Библия по Excel и VBA Присутствуют предрассудки, что в Excel есть установки, исправляющие ошибки кода. И при этом не религиозный? :-) Если серьезно, то 1. По поводу строк соединения для excel 2007 уже было замечание от пробуй камнем . Но если строк на листе будет не более 65536, то сгодится. Там в примере обращение к книге .xlsx идет. Т.е. и к .xls можно так обращаться в режиме совместимости? Ок, попробую в эти выходные. ZVI2. Если создаются объектные переменные, то их нужно самому освобождать с помощью приравнивания к Nothing, причем сначала дочерние, а затем родительские, но не наоборот. В Вашем фрагменте кода не видно ни объявлений переменных, ни освобождения памяти от них. 3. Если есть ADODB.Connection.Open то в конце перед выполнением п.2 должно быть ADODB.Connection.Close Да, конечно, в тех книгах, где я обработку ошибки поставил, все в коде есть именно так, как Вы написали ZVI4. Как бы Вам лениво не было, мне тоже лениво писать об этом, но для ситуаций, которые могут привести к ошибкам, нужно отлавливать ошибки по On Error Goto error_label и передавать управление на метку error_label: с сообщением об ошибке If Err Then MsgBox Err.Description и последующим Close по п.3 и освобождением объектных переменных по п.2. Иначе память засоряется не освобожденными объектными переменными. Вы меня пристыдили, приду сегодня домой и начну плакать как девчонка. Хнык-хнык. ZVI5. Использование ADO для книг, открытых в Excel, всегда означают утечки памяти: http://support.microsoft.com/kb/319998 Сами утечки небольшие, но их очередная порция возникают при каждом запросе, и если запросов ожидается много, то дефрагментация внутренней памяти Excel может привести к ошибке Out Of Memory. Только закрытие приложения Excel освобождает память от таких утечек. Спасибо за ссылку, печальный баг. Буду думать. ZVI6. Вы не ответили по п.2 и 3 моего предыдущего сообщения, в зависимости от этих ответов есть ситуация, приводящая к описанным Вами проблемам. А где это (2. Обрабатываемая книга доступна нескольким пользователям? 3. Если по п.2 ответ утвердительный, то создана ли она как книга с общим доступом?) можно посмотреть? Я, честно признаться, вообще не помню, чтобы что-то там в настройках менял. Для Акцесса точно делал по дефолту многоюзерский доступ, а по Экселю просто не в курсах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2011, 08:35 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
По строке подключения имелось в виду, что для работы с 1 048 576 строками файлов формата Excel 2007 эта строка должна быть другой, есть в документе по ссылке. С помощью ADO без проблем обрабатываются файлы, которые не открыты в Excel. То есть, где-то лежит Excel-файл с данными, этот файл не загружается в Excel, а отдельно в коде другой книги формируется запрос к данным файла. Но и для этого случая возможна проблемная ситуация: если книга с данными выложена на сети, и кто-то ее уже открыл в Excel (с эксклюзивными правами доступа), то при попытке обработки (ADO) с другого компьютера (или даже с другого профиля одного компьютера) в Excel открывается копия книги и не закрывается по завершению обработки. Эта ситуация очень похоже на ту, что у Вас: дома пользователь один, и проблема не проявляется, А на работе, если файл выложен в общем доступе, то условия для проблемы созданы. Выход из такой ситуации тоже есть - книгу с данными нужно предварительно сохранять расшаренной, т.е. с разрешением общего доступа. В Excel 2003 для этого есть меню Сервис - Доступ, а в Excel 2007 - лента, вкладка Рецензирование – Доступ к книге Журнал изменений и флаги личных представлений при этом лучше отключить, чтобы размеры файла катастрофически не увеличивались, и чтобы избежать лишних тормозов при работе с ним. Макросы в таком расшаренном файле внешних данных лучше не хранить, так как для файлов общего доступа существуют определенные ограничения по доступу к объектной модели Excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2011, 15:03 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Кто подскажет, где затык при запросе из книги Эксель-2007? В 2003-м все работало, а тут строку подключения изменил как в ссылке, приведенной г-ном пробуй камнем указано, и получаю run-time error "Источник данных не найден и не указан драйвер, используемый по умолчанию". Где-то что-то подключить нужно? ----- Гори в аду, Progress OpenEdge!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2011, 14:45 |
|
||
|
Что нужно сменить в настройках Экселя?
|
|||
|---|---|---|---|
|
#18+
Код использую практически тот, что г-н скукотища предложил Код: plaintext 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. Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2011, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2176573]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 460ms |

| 0 / 0 |
