
No.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ファイル本体を配布し直すことなくマクロのみの改変で事足ります。またユーザーは意識してアドインファイルをアップデートする必要がありません。
No.2
- 回答日時:
>このマクロはどのエクセルファイルを開いた時にもそれぞれの社員が活用できるようにしたいのですが
この場合、個人用マクロブック(Personal.exe)を作成
このファイルをLAN上の共有サーバの特定のフォルダに置いてください。
後は使用するすべてのPC上のExcelで
「ツール」「オプション」「全般」タブの
「Xlstart代替フォルダ名」に先程のフォルダ名を絶対パス付きで入力してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
新生活!引っ越してから困らないように注意すべきことは?
新しい職場や学校で元気いっぱいのスタートを切るためにも快適な生活環境を整えておきたい! >>
-
別のパソコンでエクセルのマクロを使いたい
Excel(エクセル)
-
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
エクセル シート保護された共有ファイルのマクロ実行
Excel(エクセル)
-
4
社内Excel共有ブックでの保存トラブル
Excel(エクセル)
-
5
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
6
エクセルで個人用マクロの配布方法
Excel(エクセル)
-
7
VBAを禁止している会社って多いのでしょうか?
Excel(エクセル)
-
8
組んだマクロをメールで送る
Visual Basic(VBA)
-
9
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
10
エクセルでVBAを使用して1分毎にファイルを保存するプログラムを書きた
Excel(エクセル)
-
11
ユーザーフォームのコピー?
Excel(エクセル)
-
12
別のシートから値を取得するとき
Visual Basic(VBA)
-
13
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
14
職場のネットワーク共有上にエクセル2007で、マクロ付きのファイルを作
Excel(エクセル)
-
15
EXCELのマクロが他のパソコンで動かない
その他(コンピューター・テクノロジー)
-
16
Excel 書式を関数で判断。
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
19
エクセル2016です。「ブック共有」ができない。
Excel(エクセル)
-
20
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルでマクロを有効にする...
-
5
作成したマクロを共有
-
6
VBA マクロ実行時エラー’1004Ra...
-
7
エクセルファイルを自身のファ...
-
8
エクセル終了時の保存確認メッ...
-
9
マクロを実行するとパス名が無...
-
10
エクセル2013vbaで、見えない名...
-
11
マクロを消すマクロは不可能?
-
12
EXCEL マクロ クリップボードク...
-
13
新旧エクセル、マクロは互換不可?
-
14
エクセルマクロを有効にしない...
-
15
エクセルでマクロを別のPCで利...
-
16
マクロを設定したのに、拡張子...
-
17
「開いているすべてのブック」...
-
18
マクロでマクロを削除する
-
19
アクセスでファイルを開いたと...
-
20
エクセルVBA ブックを閉じるで...
おすすめ情報