Запустить макрос, только если он не был запущен раньше? - PullRequest
0 голосов
/ 26 февраля 2011

Я создаю файл Excel, в котором есть список ячеек с описаниями для различных элементов, и каждая ячейка имеет гиперссылку.Мне нужно отправить это по электронной почте коллеге, который может иметь или не иметь никакого опыта или времени для VBA, поэтому я написал макрос, который будет сбрасывать гиперссылки.

Есть ли способ запустить макрос в начале файла, только если он не был открыт раньше?

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

Я бы создал скрытую страницу, где вы можете хранить переменные состояния. На этом листе вы можете сохранить, запустил ли человек макрос раньше или нет. Таким образом, в ячейке A1 у вас может быть число 0, которое будет указывать, сколько раз был выполнен макрос. Обновляйте этот номер при каждом запуске. Просто убедитесь, что вручную сбросили этот лист, прежде чем отправить его человеку. Также убедитесь, что этот человек не отправляет лист другим людям, которым он должен быть запущен определенным образом с первого раза.

0 голосов
/ 26 февраля 2011

Почему бы просто не запустить свой макрос для сброса ссылок в событии Workbook_Before_Save перед его отправкой. Все остальное предполагает, что у него будет установлена ​​защита макроса, и он в любом случае будет запускать макрос, чего он не может делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...