OS:Win2000
Excel2000

ExcelでモジュールシートとThisWorkBookにVBAコードを作成しました。
このVBAを他の16個のExcelブックへ展開するのですが、
何か変更があった場合、16個のbookを修正しなければなりません。
管理が煩雑になるので、避けたいのですが何か良い方法はありますでしょうか?

16個のExcelブックは同じフォルダーで管理され、
Lan又はHttp(Web)で複数人が照会、変更を行います。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

アドインを利用するには、


1.利用者のパソコン内のアドインフォルダにアドインファイルを入れる(ファイルのコピー等)
2.Excelでアドインを追加(登録)
して、初めて使用可能になります。

アドインを更新した場合に備えて、利用者がファイルを開いたときに、アドインファイルのバージョンをチェックして書き換えを行うような処理が必要になります。

全ユーザーに「プログラムを変えたからexcelのアドインを更新してください」って通知しても、意味を理解して更新を行う方はどれくらい居るでしょうか・・・。

その辺りを考慮しておかないと、メンテナンスの為に無用な手間が増える可能性も有ります。

上記の事はVBAで処理が可能ですが、後々の事(担当が変わる等)を考えると簡便な方法で行う方が良いかと思います。
    • good
    • 0
この回答へのお礼

参考Urlを見て試した所、

1.共通マクロのあるブックを拡張子「.xla」で保存。(アドイン化)
2.共通マクロを使用するブックから「WorkBook.Open」で「.xla」を開く

と言う処理をすれば、本当の意味での「アドイン」では無いかも知れませんが、
思った事が実現できるようです。

>全ユーザーに「プログラムを変えたからexcelのアドインを更新してください」って通知しても、意味を理解して更新を行う方はどれくらい居るでしょうか・・・。

これは全く期待できません。
クライアントにPGMを持たせ、入れ替えが発生する用ならActiveX等を考えます。

回答ありがとうございました。

お礼日時:2005/04/13 17:48

#1 の応用と言うか 逆のほうが扱いやすいかも・・。



「16個のいずれかが読み込まれた時点で、
"プログラムBOOK.xls"は、読み込まれている状態であれば」
と言う点について
"プログラムBOOK.xls"(プログラムが書かれている) を 主のBookとして
複数人が照会、変更の際 主のBook を開き
このBookの(選択ボタンなどで作ったメニュー)マクロ操作から 16個のBookを開く。 
場合によっては 共有のため 読み込み専用などのアクセス制限をする。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

マクロのあるブックにメニューを作るって事ですよね?

実はWebページ(ASPプログラム)があってそこにブックの一覧が表示され、
webページのボタンとチェックボックスで開くブックを
コントロールしています。

なので、この案はちょっと無理です。

お礼日時:2005/04/13 11:13

アドインにして仕舞えば面倒なコードの展開も不要ですし、管理も一括で行えます。


マクロでアドインの組み込みや解除の制御も可能です。

あとは、アドインが修正された場合の自動対応が必要ですね。

なので、#1さんの方法が一番簡単かもしれません。

参考URL:http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub0 …

この回答への補足

お返事ありがとうございます。

参考URLを見させていただきました。
アドインなんて機能があるのですね。知りませんでした。
ユーザーさんから別のファイルが開いているのも判らないし、これなら、良さそうな気がします。

ただ、「アドインが修正された場合の自動対応が必要ですね」とはどういう事なんでしょうか?

私はこのアドイン機能は#1さんの提案の「Excelブック(.xls)を開く」って所が「アドイン(.xla)を開く」に変わっただけと理解しているのですが?

補足日時:2005/04/13 11:01
    • good
    • 0

こんな方法は、いかがでしょうか?



共通のVBAのプログラムを
"共通プログラム1"
と、します。
VBAのプログラムの書かれたBOOKを
"プログラムBOOK.xls"
として、保存します。
他の16個のBOOKには、

Sub 実行するプログラム()
'
Application.Run "プログラムBOOK.xls!共通プログラム1"
End Sub

という、VBAを書きます。
16個のいずれかが読み込まれた時点で、
"プログラムBOOK.xls"
は、読み込まれている状態であれば、INOPIIさんの目的通りのことが出来ると思いますが。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
最初はそう考えたのですが、ユーザーにとって関係のないブックを開くのに抵抗があります。
また、Httpでも使用するのですが、ちゃんと動くのかが不安です(テストしてませんが)
ちょっとサンプル作ってテストしてみます。

お礼日時:2005/04/13 10:55

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング