
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.12.2003, 13:30
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
Написал я маленькую процедуру на VBA в Excel, которая вставляет данные в страницу книги, а потом эту страницу копирует в другой файл. То есть в первой книге у меня есть таблица с данными и страница-шаблон. А в новую книгу надо вставить эту страницу шаблон для каждой строки из первой книги... Встретился с такой вот проблемой: когда строк в таблице у меня 20 или 30, то процедура отрабатывает как часы, а вот если строк больше 30, то на 31 процедура вылетает с сообщением об ошибке копирования. Я предположил, что в книгу нельзя вставить больше 30 страниц, написал тестовую процедуру, которая вставила мне 200 чистых страниц. Тогда получается, что слишком много данных копируется несколько раз и происходит что-то вроде переполнения? Нельзя ли как-нибудь очищать буфер от предыдущих данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 13:37
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Как всегда, для телепатов... Clipboard.Clear ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 13:51
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
У меня 97 Excel и там такого объекта нет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 13:58
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
На самом деле я не верю в такое объяснение. Страница не копируется просто в буфер, она всегда копируется куда-то. лучше бы все-таки поподробнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:04
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
Копирую я вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:05
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Кстати, у меня в Excel2000 этого метода тоже нет. Он, оказывается, есть только в "чистом" VB. Так что ой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:13
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Попробовал у себя большой лист с 40 копиями - все ОК. Мобыть и правда дело в памяти (ее-то у меня 512...) Сейчас попробую загрузить побольше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:20
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
200 копий - полет нормальный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:22
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
Я еще дома попробую, у меня там тоже 512, а здесь на работе 256. Сейчас мне надо уходить, позже зайду узнать как там у тебя результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 14:22
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Наращивай до 4000 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 15:51
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
2 Темный : Это ты кому? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 15:57
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Еще такой нюанс из хелпа: Число листов в книге Ограничено объемом доступной памяти :-) Правда, какое все это отношение имеет к Аксу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 16:12
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
Ни хрена не выходит... Попробовал дома на 512 метрах памяти и ни хрена. Все так же вылетает на 30 странице... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 17:40
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Скорее всего это связано с тем, что название листа не может быть длиннее 32 символов. При копировании листа кодовое название (CodeName) формируется следующим образом - при первом копирование к этому имени добавляется единичка, затем двойка, затем тройка и т.д. Если копировать постоянно активный лист Код: plaintext То название листов будет формироваться таким образом: Sheet11, Sheet111, Sheet1111, Sheet11111 и т.д., дойдя до ~30 Ёксель перестанет копировать листы. Это не зависит от количества памяти и пр. Кодовые названия можно посмотреть в левом окне VBA. В твоем случае имена должны формироваться по типу Sheet11, Sheet12, Sheet13, но не факт. Проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 17:56
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Нет, не так. Он дает имя исходного и добавляет в скобках порядковый номер: МойЛист(1) МойЛист(2) МойЛист(3) МойЛист(4)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 18:01
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
2 Ingvarwolf: А сколько свободной памяти показывает при этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 18:11
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
AlexJuice Я не зря упоминул про CodeName. То что отображается как МойЛист(1) МойЛист(2) МойЛист(3) МойЛист(4)... это просто Name. Попробуй выполнить мой код Код: plaintext 1. 2. и посмотри в VBA названия листов. Сравни CodeName и Name (то что в скобках) и почуствуй разницу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 19:34
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Почувствовать ее несложно. Но ведь ты неправильно написал про принцип формирования CodeName! Он на самом деле будет такой (для русской версии): Лист1 Лист2 Лист3... Ну и где здесь страшные 32-хзнаковые названия после тридцатого листа? и потом что значит "просто Name"? Ведь ограничение-то действует только для него, а CodeName формируется автоматически! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.12.2003, 19:40
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Хочу поправиться: про принцип ты написал как раз правильно! А вот пример почему-то привел как раз несоответствующий ему (в первый раз). И в любом случае CodeName Акс задает сам и не дает его менять, так что в нем траблов быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.12.2003, 11:11
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
И в любом случае CodeName Акс задает сам и не дает его менять, так что в нем траблов быть не должно. В том-то и дело, что это потенциальный трабл. В указанном мной примере (кстати ты пробовал его выполнять?) CodeName увеличивается с каждым разом, что приведет к тому, что Ёксель откажется копировать лист, причем причину его отказа усмотреть с ходу сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.12.2003, 12:46
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Ну пробовал, ессно... Результат уже написал (вчера от 19:34), и никаких траблов там возникло. И в любом случае при переходе за 3-ий десяток длина имен не меняется! CodeName Лист1 ... Лист31 Name Лист1 ... Лист1(31) В аглицком варианте, подозреваю, единственным отличием будет "Sheet" смевто "Лист". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.12.2003, 12:54
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
У тебя Excel какой? Видать в разных версиях по-разному формируются CodeName. Я пробовал на 97(eng) и 2000(rus) и у меня они формировались именно таким образом как я написал. Может быть поэтому у одних людей код Ingvarwolf работает, а у других - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.12.2003, 13:06
|
|||
|---|---|---|---|
|
|||
Ограничения буфера обмена Excel? |
|||
|
#18+
Если копировать постоянно активный лист... То название листов будет формироваться таким образом: Sheet11, Sheet111, Sheet1111, Sheet11111 и т.д., дойдя до ~30 Ёксель перестанет копировать листы. Ну хоть какой-то отголосок проблемы... Попробовал пример CtrlAlt так все так и выходит... Правда до 40 не доходит — Excel тихо без шума вылетает :)... Но в моей программе, из-за которой я и создал этот топик, Листы просто называются очередным номером по порядку, а не добавлением единички... Ну буду смотреть дальше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.12.2003, 14:42
|
|||
|---|---|---|---|
Ограничения буфера обмена Excel? |
|||
|
#18+
Это достаточно известная проблема, CtrlAlt вообщем верно обрисовал главную затыку: http://support.microsoft.com/default.aspx?scid=kb;en-us;177634&Product=xlw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1677454]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 426ms |

| 0 / 0 |
