システムメンテナンスのお知らせ

私が作成したエクセルのマクロを企業で使って頂く事になりました。
そこで質問ですが、このマクロはどのエクセルファイルを開いた時にもそれぞれの社員が活用できるようにしたいのですが、全社員に送る前に何か設定する必要があるのでしょうか?また社員がこのマクロを使うには私が送ったマクロファイルをずっと保持していないといけないのでしょうか?何か良い方法があれば教えて下さい。
アドインという機能は私も詳しくは存知ませんがこういう時に役立つのでしょうか?

gooドクター

A 回答 (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ファイル本体を配布し直すことなくマクロのみの改変で事足ります。またユーザーは意識してアドインファイルをアップデートする必要がありません。
    • good
    • 0

>このマクロはどのエクセルファイルを開いた時にもそれぞれの社員が活用できるようにしたいのですが



この場合、個人用マクロブック(Personal.exe)を作成
このファイルをLAN上の共有サーバの特定のフォルダに置いてください。
後は使用するすべてのPC上のExcelで
「ツール」「オプション」「全般」タブの
「Xlstart代替フォルダ名」に先程のフォルダ名を絶対パス付きで入力してください。
    • good
    • 0

マクロはエクセルファイルと一緒に保存されていますよ


そのエクセルファイルを送ればいいだけです
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング