![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Создаю книгу Excel. Вставляю в неё модуль Module1 (пустой, без кода). Сохраняю книгу и закрываю Excel.
Запускаю созданную книгу и запрещаю макросы. Запускаю на выполнение макрос из надстроек: Код:
При последующих запусках, при пошаговой обработке - всё работает нормально, а вот при первом запуске - нет. в чём может быть причина?
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
При добавлении нового листа в книгу с одновременным присвоением имени (как в Вашем коде), возникает следующая ситуация:
Если листа с таким именем не существует, то он создается. Если же он имеется, то (естественно, при установленном запрете вывода сообщений Excel, либо игнорировании ошибок Excel) будет создан новый лист с именем "Лист...", т.е. стандартное имя следующего листа при добавлении. Проверьте, нет ли в надстройке листа с таким именем, и какая книга активна при выполнении Вашего кода.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Дело в том, что даже если я сделаю так:
Код:
Опробовал эту ситуацию на 2-х машинах с разными сборками Office 2007 - эффект один и тот же. Хочу добавить, что вызов макроса ведётся через меню, установленное надстройкой.
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
![]()
Есть у меня подобный пример. Попробуй:
Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
У меня проблема не в том, чтобы задать имя листа, а в том, что макрос прекращает работать, натыкаясь на Worksheets.Add(), не выдавая при этом каких-либо сообщений!!!
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Цитата:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 27.09.2010 в 07:40. |
||
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Люди, читайте внимательнее:
[QUOTE=Skif-F;619555] Запускаю на выполнение макрос из надстроек: Код:
При последующих запусках, при пошаговой обработке - всё работает нормально, а вот при первом запуске - нет. QUOTE]
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Что-то мне подсказывает, что проблема не в этом коде...
1. Надстройка у Вас всегда установлена? Или устанавливается/удаляется каждый раз при открытии/закрытии? 2. Когда и как создается меню надстройкой? 3. Давайте в студию Вашу надстройку. Можно (лучше) не всю, а только с проблемным кодом. Разберемся.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 27.09.2010 в 09:33. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 24.03.2010
Сообщений: 349
|
![]()
Выполняю ваше требование Книга и надстройка.zip.
Во вложении хранятся 2 файла: Надстройка.xlam (для Excel 2007) и Книга1.xls (для Excel 2003) - мой Excel отказался создавать надстройку для 2003. Порядок действий такой: - устанавливаем надстройку - устанавливаем: "Отключить все макросы с уведомлением" - выходим из Excel'я - запускаем Книга1.xls и запрещаем макросы - щёлкаем правой кнопкой листе и выбираем "Новое меню/Что-то сделать" после этого должен создаться лист с именем "Новое Имя" У меня создаётся Лист4 и макрос работать прекращает. При последующих пусках всё работает как надо Debug.Print в код я вставил. Макрос, обслуживающий действие "Что-то сделать", находится в модуле BaseModule.
Нет нерешаемых задач - есть недостаток времени и данных!
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
С запретом макросов я смог решить Вашу задачу только таким образом (см. вложение).
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с объектами Workbook,worksheets,range | savraska | Microsoft Office Excel | 2 | 27.05.2010 10:53 |
Excel 2003: Worksheets().Shapes().Select - выбирает не весь текст фигуры | ZaeC | Microsoft Office Excel | 0 | 26.05.2010 14:15 |
Сложение(Add) | Rymbil | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 22.01.2010 10:24 |
SQL.add | Grom48 | БД в Delphi | 2 | 13.12.2009 16:42 |
add project | lalilulelo | Помощь студентам | 3 | 26.05.2009 10:18 |