Tonyは、WordとExcelのマクロストレージの違いについて質問しています。 Wordでは、マクロをドキュメントのテンプレートに保存したり、テンプレートを特定のドキュメントに添付したりできます。したがって、Tonyは、テンプレートを1つだけ維持し、それを編集して、数年前に作成した可能性のあるドキュメントに新しい自動化機能を追加することができます。 Tonyは、Excelで同じことを行って、同僚全員がネットワークドライブのExcelテンプレートに保存されているマクロを利用できるようにする方法があるかどうか疑問に思います。

簡単に言えば、あなたが説明していることを行う方法はないということです。

その理由は、2つのプログラムでのテンプレートの使用方法に本質的な違いがあるためです。 Wordでは、テンプレートはドキュメントにアクティブに添付されており、ドキュメントが開かれるたびに、そのドキュメントに添付されているテンプレートも開かれます。ドキュメントが最後に開かれてからテンプレートが変更された場合(たとえば、テンプレートが更新されて新しいマクロが含まれている場合)、それらの変更はそのドキュメント内ですぐに利用できます。

Excelでは、テンプレートはそのようなものではありません。確かに、マクロ対応のテンプレート(XLTMファイル)を作成し、それらのテンプレートに基づいてワークブックを作成できます。テンプレート内のマクロは、そのテンプレートに基づいて作成するブックの一部になるはずです。しかし、それはそれが行く限りです。ドキュメントとテンプレートの間に「アクティブリンク」はありません。後で新しいマクロでテンプレートを更新しても、そのテンプレートに基づいて以前に作成されたブックは影響を受けません。

常に更新されるマクロを同僚が利用できるようにする場合、Excel環境でこれを行うには3つの方法があります。

まず、Personal.xlsbファイルを信頼できます。この特別なワークブックのマクロは、Excelが使用されているときはいつでも開くため、ユーザーが使用できます。すべての同僚のシステムでPersonal.xlsbブックを常に更新するようにシステムを設定できます。これの欠点は、絶えず更新するのが面倒なことです。

2番目のアプローチは、すべての同僚がアクセスできる特別なマクロ対応ワークブックをネットワークドライブ上に作成することです。 OurCompanyMacros.xlsmなどの特別な名前を付けて、会社のマクロを保存する以外に何もしない場合があります。すべての同僚に、Excelを使用するたびにこのブックを開くように指示すると、ブック内のすべてのマクロにアクセスできるようになります。これは、Personal.xlsbに依存するアプローチよりも管理しやすくなります。これは、1つのブックのマクロを更新するだけで、すべてのユーザーがそれらにアクセスできるためです。

3番目のアプローチは、マクロを含む会社のアドインを作成することです。アドインの作成方法は、このヒントには詳細すぎますが、次の_ExcelTips_で追加情報を見つけることができます:

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

アドインはネットワークドライブに保存でき、ユーザーはそのアドインをシステムにインストールして、そこに含まれるすべてのマクロを使用できます。

ネットワークアドインをインストールすると、ユーザーは自動的にアドインをローカルドライブにコピーするオプションが与えられます。ユーザーがアドインをコピーすることを選択した場合、それはアドインを更新する機能を無効にし、同僚が更新されたマクロにアクセスできるようにします。これを回避する方法は、マクロに「チェック」を作成して、現在のローカルアドインが最新バージョンであることを常に確認することです。そうでない場合、マクロは、アドインが最新であることを確認するために、開発する可能性のある更新プロセスを実行するようにユーザーに求める可能性があります。

アドインの開発とデプロイでは、必要なだけ凝ったものを手に入れることができます。おそらく必要以上にアドインに関する情報が必要な場合は、次のMicrosoftWebサイトを参照してください。

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

要するに、Wordと比較した場合のExcelでのテンプレートの構想と実装の方法が異なるため、特定のブックのユーザーがそれらのブックの更新されたマクロにアクセスできるようにするのはかなり難しい場合があります。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13712)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。