こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAでマクロ入りのブックを共有した時

お世話になります、
エクセルのシートを伝票入力画面に使って
データはMDBに格納しています。
(エクセル、MDBとも同一フォルダ)
このフォルダをLAN上(NASとか)で
複数ユーザーが同時アクセスをすると
エラーになるでしょうか?
シート自体書込み(SAVE)は一切行っていません。
デバッグ環境はあるのですが人がいない為
エラーを再現できずに困っています。
よろしくお願い致します。

投稿日時 - 2018-10-11 17:16:53

QNo.9546581

困ってます

質問者が選んだベストアンサー

保存しないとはいえ、共有されることで
同じセルへの書き込みが行われるときに
エクセルが細かな排他制御を
ファイルサーバー上のファイルを使い行うので危険と思います。

入力用のマクロブックをファイルサーバー上に置けば
マクロブックを一元管理できるので
その利点は大きいと思いますが、私ならやりません。

私だったら、
ファイルサーバー上に入力用のマクロブックに置き
更に、次のような動作をするbatファイルをサーバー上に置き
利用者にはこのbatファイルを実行させるようにします。

・ファイルサーバー上のマクロブックを
 自PCの%temp%フォルダーに複写
・複写したマクロブックを実行

それにより一元管理ができますし
排他によるトラブルも避けることができます。

投稿日時 - 2018-10-12 20:44:25

補足

ありがとうございます、元々スタンドアロン用に作成した配布アプリを(MDBのトランザクション処理は行っていますが)サーバー上で共有アプリとして使いたいという話でした。自分でも多分駄目だろうなぁ、とは思っていました。各々のPCにマクロが入ったエクセルを置いてサーバー上のMDBに接続させてみようとマクロのMDB接続部分を変更してみたのですが、今度はMDBのオープンにやたら時間がかかり使い物になりそうもありません、何か良い考えはないでしょうか?宜しくお願い致します。
デバッグしているサーバーはNAS Navigatorです。

投稿日時 - 2018-10-13 10:03:05

お礼

ありがとうございます、もう少し頑張ってみますがバッチファイルですかね、最後は。お世話様でした

投稿日時 - 2018-10-13 16:01:18

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

とりあえずやってみたけどエラーにはならないですね。

シートに書き込みしないんならExcelを共有する意味が無い気がします。
読み取り専用でいいのでは。

サーバ上のMDBの処理に時間がかかるのなら、共有とかとは別問題でしょう。

処理に必要なテーブルだけをリンクテーブルで抜粋してローカルに別ファイル作ってみてはどうでしょうか。

投稿日時 - 2018-10-13 14:21:37

あなたにオススメの質問