Экспорт в Excel | |
---|---|
Vedmak Автор Сообщений: 5972 Откуда: CiTY Дата регистрации: 30.10.2003 |
Заполняю шаблон.
Не могу отловить причину. На разных машинах в разное время случаются конфликты [attachment 32784 Joxi.jpg] Причем проблема плавающая: то на методе Excel-а .Select вывалится exception, то на .Paste. Код не изменялся лет 5. Менялись машины и версии винды. Сейчас MS Win10 x64. MS Office постарше 10-ки. Куда стоит копать ? ------------------ Говорить стоит лишь для тех, кто слушает. Исправлено 1 раз(а). Последнее : Vedmak, 06.02.20 22:31 |
Re: Экспрот в Excel | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Я раньше записывал в код программы, на каких строках появлялись эти 1429, потом надоело. Системы не обнаружил. может есть связь с загруженностью машины. На одном и том же терминальном сервере у кого-то то и дело валится, а у кого-то не появляется, т.е. от данных может зависит.
|
Re: Экспрот в Excel | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В использование .Select(), ActiveSheet и в общем работу с буфером обмена для данной цели. Заполнение шаблона, в т.ч. копирование "правильно отформатированных шаблонных диапазонов" делается без использования указанных методов. ------------------ WBR, Igor |
Re: Экспрот в Excel | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
И не занимайся ерундой. У меня бы твой кусок текста превратился бы в такое:
------------------ Лень - это неосознанная мудрость. Исправлено 1 раз(а). Последнее : ssa, 06.02.20 21:17 |
Re: Экспрот в Excel | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
То же использование буфера обмена, только в профиль. И те же проблемы в итоге.
------------------ WBR, Igor |
Re: Экспрот в Excel | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
У меня "эта проблема" не плавающая - .select не сработает, если loSheet не является ActiveSheet. (плюс не сработает, если лист является "скрытым"). Исправлено 1 раз(а). Последнее : akvvohinc, 06.02.20 22:37 |
Re: Экспорт в Excel | |
---|---|
Vedmak Автор Сообщений: 5972 Откуда: CiTY Дата регистрации: 30.10.2003 |
А для жителей крайнего севера можно подробнее. Вижу просветы в своих знаниях для понимания этой цитаты.
------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Экспорт в Excel | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Все то же, что и у остальных: не надо эмулировать интерактивную работу и использовать специфические для этого функции, то бишь Select и Selection. В примерах показано как то делается.
------------------ Лень - это неосознанная мудрость. |
Re: Экспорт в Excel | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Всё просто - книга Excel может состоять из нескольких листов, но лишь один из них является текущим (ActiveSheet) - тот, что видит юзер при интерактивной работе. В то же время, работая с объектом Excel, ты можешь читать/заполнять ячейки (.value или .formula) любого листа (получив на него ссылку тем или иным способом), а не только текущего:
При этом loSheet.name может быть равным 'Лист1', а loBook.ActiveSheet.name = 'Лист2' Но вот выполнение loSheet.cells[1,1].select, если loSheet.name != loBook.ActiveSheet.name, вызовет именно эту ошибку. Поэтому если есть необходимость в .select, то сначала надо сделать этот лист активным (если он неактивный):
Почти та же проблема будет и со скрытым листом - его не удастся активизировать, а следовательно, и сделать там .select. PS Некоторую аналогию можно найти у Фокса - это рабочие области, одна из которых - текущая, но многие операции можно выполнять и над таблицами в нетекущих областях. Многие, но не все! PPS Извини, я смотрю форум "без ветвей" и думал, что твой вопрос относился к моему посту, как к предшествующему. Но удалять не буду. Исправлено 2 раз(а). Последнее : akvvohinc, 07.02.20 00:15 |
Re: Экспрот в Excel | |
---|---|
Vedmak Автор Сообщений: 5972 Откуда: CiTY Дата регистрации: 30.10.2003 |
Спасибо, направление понял. Покопал тут же на форуме и нашел несколько более простой метод. ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Экспорт в Excel | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
() расскажешь, если получится? )
|
Re: Экспорт в Excel | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Да, к сожалению есть пара штук в экселе, которые не сделать без Select/selection - но если можно обойтись без них (и без буфера обмена, конечно!) то стоит так и делать. Копирование ячеек в рамках листа (чтобы форматы скопировались), копирование самих листов, применение всяких элементов форматирования, заполнение значениями и формулами, насколько я помню, вполне обходятся без этого.
------------------ WBR, Igor |
Re: Экспорт в Excel | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Помню, были требования юзеров, чтобы на листах при их первом открытии текущими ячейками были вполне определенные ячейки. Можно ли такое требование реализовать без .select?
|
Re: Экспорт в Excel | |
---|---|
andrewk Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
Не, ну .Select для того и предназначен — выбрать (сделать активной) область. Как если бы юзер ткнул в неё мышкой. То есть для этой хотелки это как раз самое оно. А вот при всяких автоматических заполнениях, особенно если они могут быть долгими, желательно этим не пользоваться. Ведь, возможно, пока работает наша прога, юзер может открыть другой эксельный документ и чего-то в нём делать, а может и в «нашем» документе пытаться по листам перемещаться. Ну а уж про юзать буфер обмена и говорить не стоит. |
Re: Экспорт в Excel | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Кому как! Юзаю все время. Доволен! В Фоксе буфер заполняю. Форматы в буфер через макет. Всякие объединения ячеек в том числе. У меня свой построитель. Написан примерно тогда, когда Банщиков писал. Я его еще в Уфе показывал. Исправлено 2 раз(а). Последнее : Ydin, 09.02.20 10:53 |
Re: Экспорт в Excel | |
---|---|
andrewk Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
Возможно. Но при этом теряется содержимое буфера, которое, возможно, было очень ценно для юзера. Кроме того, если процедура формирования отчёта относительно долгая, в это время юзер может, например, в Ворде крапать и пытаться пользоваться буфером, результат, наверное, будет неожиданным.
|
Re: Экспорт в Excel | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ну дык вывесить на фулскрин вырвиглазное окно где красным 32 шрифтом написать "руки прочь от клавиатуры и мышки! иди пить чай пока готовится отчёт!"
------------------ WBR, Igor |
Re: Экспорт в Excel | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
BlockInput
|
Re: Экспорт в Excel | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Без надписей это гарантирует волну звонков в саппорт о том что "манитор не печатает, кампутер вирусы захватили". Впрочем, и надписи не помогают как правило - кто ж их читает
------------------ WBR, Igor |
Re: Экспорт в Excel | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Последнее время отчеты выдаю в DBF FOX2X AS 866, их эксели до сих пор открывают. Мемо-поля не читает - это минус, стараюсь без них, и форматирования с раскраской нет. Из плюсов - быстро изготовляется табличка. А так да, надо обходиться без программного Ctrl-C, но часть функций не работает в скрытом режиме, надо как-то выкручиваться...
forum.foxclub.ru - копирование без буфера |
© 2000-2024 Fox Club  |