Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как заставить выполнятся скрипт только при первом открытии / 5 сообщений из 5, страница 1 из 1
22.07.2010, 09:59
    #36753741
Как заставить выполнятся скрипт только при первом открытии
Проблема такая: есть некая тулза, которая на вход принимает эксель шаблон, а на выход выдает эксель файлик с данными из базы, заполненными по шаблону. Возникла необходимость эти данные преобразовывать так, как не умеет это делать тулза. Написал скрипт на VBA который при открытии WorkBook переколбашивает данные как нужно. Проблема в том, что этот скрипт нужно выполнять только при первом открытии отчета. Как "отключить" выполнение скрипта в последующие открытия?
...
Рейтинг: 0 / 0
22.07.2010, 10:19
    #36753792
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить выполнятся скрипт только при первом открытии
ну, заставьте этот скрипт, кроме прочего, на скрытом программно листе в ячейке A1 сатавить единичку при запуске. и введите проверку, типа, если единички нет, то работаем, есть - закрываемся
...
Рейтинг: 0 / 0
22.07.2010, 19:21
    #36755467
kinotaurus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить выполнятся скрипт только при первом открытии
В дополнение к идее PlanB: листы бывают не только видимые (Visible) и скрытые (Hidden), но и суперскрытые (VeryHidden). Такие листы не видны через команду "Отобразить" из меню.

Чуть более изящное решение (обходимся без лишнего листа) -- создать в файле имя, ссылающееся не на ячейку, а на значение:

Код: plaintext
1.
ActiveWorkbook.Names.Add "myflag", "=1", False

и проверять наличие этого имени.
...
Рейтинг: 0 / 0
23.07.2010, 10:29
    #36755974
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить выполнятся скрипт только при первом открытии
kinotaurusВ дополнение к идее PlanB: листы бывают не только видимые (Visible) и скрытые (Hidden), но и суперскрытые (VeryHidden). Такие листы не видны через команду "Отобразить" из меню.я это и имел ввиду, написав "на скрытом программно листе"kinotaurusЧуть более изящное решение (обходимся без лишнего листа) -- создать в файле имя, ссылающееся не на ячейку, а на значение:только с единичкой и Ваше - всё равно не совсем надежные решения: например, скрипт может слететь до окончания работы. лучше всего, конечно, проверять данные при открытии на соответствие выходным. только это гемор проеписывать, если преобразования серьёзные...
...
Рейтинг: 0 / 0
23.07.2010, 17:41
    #36757134
Быдло__кодер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заставить выполнятся скрипт только при первом открытии
Спасибо за идею. Использовал в качестве флага факт скрытия самого временного листа. Т.е если он скрыт - то данные уже преобразованы и ничего не делаем, если не скрыт, преобразовываем и скрываем лист
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как заставить выполнятся скрипт только при первом открытии / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]