- ベストアンサー
作成したマクロを共有
私が作成したエクセルのマクロを企業で使って頂く事になりました。 そこで質問ですが、このマクロはどのエクセルファイルを開いた時にもそれぞれの社員が活用できるようにしたいのですが、全社員に送る前に何か設定する必要があるのでしょうか?また社員がこのマクロを使うには私が送ったマクロファイルをずっと保持していないといけないのでしょうか?何か良い方法があれば教えて下さい。 アドインという機能は私も詳しくは存知ませんがこういう時に役立つのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
全社員に配布する前に特に設定の必要はありません。ファイルをコピーすればマクロもコピーされます。ただ、ファイル名がコード内にある場合などはファイル名の改変などに配慮が必要ですね。 また、そのEXCELファイルを使う社員のパソコンの環境と貴方がEXCELファイルを作った環境は異なりますから、作ったマクロをたくさんの人が使う場合は、いろいろな環境で動作確認というものをしておいたほうがいいです。 動作確認ができない場合は、実際に使って貰うなかで発生した不具合やバグをフィードバックしてもらい、修正しなければなりません。しかし配布したEXCELファイルが個々の社員によってすでに編集されている場合、マクロの不具合の修正をそれぞれのEXCELファイルについて行っていたのでは大変面倒です。そこで、アドインという便利な機能を使います。 大勢の人が同じマクロを使う場合、アドイン機能はとても役に立ちます。アドインで使うマクロは一般にツールバーやメニューバーのボタンにマクロを登録して使います。この場合、配布するexcelファイルにツールバーも添付して配布する必要があります。 アドイン登録はユーザーが手動でできますが、私の場合はexcelファイルの起動時のイベントで常に新しいアドインファイルをインストール・登録するようにしています(マクロでアドイン登録は可能)。ただ、アドインを登録する為のマクロは、元のexcelファイルに記述する必要があります。少々ややこしいので手順で説明します。 1,元excelファイル(ワークシート・マクロ)→新excelファイル(ワークシート)+アドインファイル(マクロ)に分割 2,新excelファイルに新しいツールバーを作成し、その中にマクロを登録したコマンドボタンを作成 3,新excelファイルに新しいツールバーを添付する([ツール]>[ユーザー設定]でできます) 4,新excelファイルのアドイン登録・削除を自動化するコードを追加(下記例) Private Sub Workbook_Open() ‘起動時 Dim myPass As String, myPass2 As String On Error Resume Next myPass = “デフォルトでアドインファイルがインストールされるパス\アドインファイル名.xla" myPass2 = “最新のアドインファイルが置かれているフォルダのパス\アドインファイル名.xla " With Application .DisplayAlerts = False AddIns("アドインファイル名.xla ").Installed = False Kill myPass On Error GoTo EDK AddIns.Add Filename:=myPass2 AddIns("アドインファイル名.xla ").Installed = True .DisplayAlerts = True End With Exit Sub EDK: MsgBox "アドインのインストールに失敗しました。" _ & Chr(13) & myPass2 End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) '終了時 On Error Resume Next AddIns("アドインファイル名.xla ").Installed = False End Sub 例えば、これによってマクロ制作者はマクロのバグが見つかった場合にEXCELファイル本体を配布し直すことなくマクロのみの改変で事足ります。またユーザーは意識してアドインファイルをアップデートする必要がありません。
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7417/18945)
>このマクロはどのエクセルファイルを開いた時にもそれぞれの社員が活用できるようにしたいのですが この場合、個人用マクロブック(Personal.exe)を作成 このファイルをLAN上の共有サーバの特定のフォルダに置いてください。 後は使用するすべてのPC上のExcelで 「ツール」「オプション」「全般」タブの 「Xlstart代替フォルダ名」に先程のフォルダ名を絶対パス付きで入力してください。
- toshie
- ベストアンサー率18% (13/69)
マクロはエクセルファイルと一緒に保存されていますよ そのエクセルファイルを送ればいいだけです