У Тони есть вопрос о различиях между хранилищами макросов в Word и Excel. В Word макросы могут храниться в шаблоне документа, и вы можете прикрепить шаблон к определенному документу. Таким образом, Тони может поддерживать только один шаблон и редактировать его, добавляя новые функции автоматизации в документы, которые он, возможно, создал много лет назад. Тони задается вопросом, есть ли способ сделать то же самое в Excel, чтобы все его сотрудники могли использовать макросы, хранящиеся в шаблоне Excel на сетевом диске.

Короткий ответ: нет возможности делать то, что вы описываете.

Причина в том, что существует внутренняя разница между тем, как шаблоны используются в двух программах. В Word шаблон активно прикрепляется к документу, и всякий раз, когда документ открывается, также открывается прикрепленный к этому документу шаблон. Если шаблон был изменен с момента последнего открытия документа (например, если шаблон был обновлен, чтобы содержать новые макросы), то эти изменения немедленно становятся доступными в этом документе.

В Excel шаблоны не такие. Конечно, вы можете создавать шаблоны с поддержкой макросов (файлы XLTM), а затем создавать книги на основе этих шаблонов. Макросы в шаблоне должны стать частью книги, которую вы создаете на основе этого шаблона. Но это все, что нужно; между документом и шаблоном нет «активной связи». Если позже вы обновите шаблон новыми макросами, никакие книги, ранее созданные на основе этого шаблона, не пострадают.

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

Во-первых, вы можете положиться на файл Personal.xlsb. Любые макросы в этой специальной книге доступны пользователю, поскольку она открывается всякий раз, когда используется Excel. Вы можете настроить систему для постоянного обновления рабочей книги Personal.xlsb в системе каждого сотрудника. Обратной стороной этого является то, что постоянно обновлять сложно.

Второй подход — создать на сетевом диске специальную книгу с поддержкой макросов, которая будет доступна всем вашим коллегам. Вы можете дать ему специальное имя, например OurCompanyMacros.xlsm, и использовать его только для хранения макросов вашей компании. Научите всех своих сотрудников открывать эту книгу всякий раз, когда они используют Excel, и тогда у них будет доступ ко всем макросам в книге. Это более управляемый подход, чем подход, основанный на Personal.xlsb, потому что вам нужно только обновить макросы в одной книге, и тогда все пользователи смогут получить к ним доступ.

Третий подход — создать надстройку компании, содержащую ваши макросы. Как создать надстройку слишком подробно описано в этом совете, но вы можете найти дополнительную информацию в этих ExcelTips:

https://excelribbon.tips.net/T008528 https://excelribbon.tips.net/T008529

Надстройка может храниться на сетевом диске, а затем пользователи могут установить эту надстройку в своей системе и использовать все содержащиеся в ней макросы.

При установке сетевой надстройки пользователям автоматически предоставляется возможность скопировать надстройку на свой локальный диск. Если пользователь решит скопировать надстройку, это лишит его возможности обновлять надстройку и предоставит коллегам доступ к обновленным макросам. Чтобы решить эту проблему, необходимо разработать некоторую «проверку» в ваших макросах, чтобы всегда убедиться, что текущая локальная надстройка является последней версией. Если это не так, ваш макрос может предложить пользователю выполнить любой процесс обновления, который вы могли бы разработать, чтобы убедиться, что надстройка актуальна.

При разработке и развертывании надстроек вы можете получить столько фантазий, сколько захотите. Если вам нужна дополнительная информация о надстройках, чем вы, вероятно, хотели, вы можете обратиться к этому веб-сайту Microsoft:

https://docs.microsoft.com/en-us/office/dev/add-ins/excel/

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

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13712) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.