10 пользователей должны иметь возможность запускать один и тот же макрос в Excel - PullRequest
0 голосов

У меня есть сервер, на котором находится макрос Excel

На 10 различных рабочих станциях будет около 10 пользователей, которым потребуется запускать этот макрос на своих рабочих листах.

как запустить макрос из централизованного местоположения несколькими пользователями, которые хотят запустить его на своих собственных листах?

причина, по которой я нуждаюсь в его централизации, заключается в том, что макрос нужно будет постоянно обновлять, и мы не можем иметь его в локальном хранилище, потому что тогда будет 10 его экземпляров

Как показывает один из ответов ниже, возможно, надстройка - это путь? если я создаю надстройку, как она узнает, что есть обновление макроса? Должен ли я распространять надстройку каждый раз, когда я обновляю макрос?

Ответы [ 3 ]

1 голос
/ 11 мая 2010

Если у пользователей открытая рабочая книга и открытая серверная рабочая книга, то макрос будет доступен для них в диалоговом окне «Просмотр»> «Макросы» после выбора «Все открытые рабочие книги» в раскрывающемся меню «Открыть макросы».

Однако я думаю, что есть три потенциальных проблемы:

1- Если две рабочие книги открыты в двух разных экземплярах Excel, то каждая рабочая книга не будет отображать другие макросы.

2- Макрос в Рабочей книге сервера должен быть достаточно умным, чтобы работать с другой книгой. Скорее всего, потребуется запросить у пользователя правильную рабочую книгу и / или рабочие листы.

3 - Вы можете получить предупреждение безопасности при удаленном выполнении макроса. (не уверен насчет этого)

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

Обновление на основе редактирования
Ваша надстройка должна иметь возможность удаленно извлекать новый код для обновления макроса, который он выполняет. Что-то вроде это , например. Это может быть излишним решением.

1 голос
/ 11 мая 2010

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

В противном случае просто создайте одну общую книгу и попросите всех пользователей использовать эту одну книгу.

Это действительно зависит от ситуации, в которой книга будет использоваться, и от того, что вы пытаетесь выполнить. Если бы вы могли предоставить более подробную информацию, я мог бы помочь вам более конкретно.

0 голосов
/ 11 мая 2010

Если ваша проблема заключается в том, чтобы убедиться, что люди используют обновленный макрос, вы можете захотеть заглянуть в VSTO. Одним из преимуществ является то, что вы можете использовать ClickOnce для развертывания, что, помимо прочего, позволяет публиковать код в одном месте, а также автоматически загружать и обновлять код пользователя в случае изменений.

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