• ベストアンサー

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

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

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

保存しないとはいえ、共有されることで 同じセルへの書き込みが行われるときに エクセルが細かな排他制御を ファイルサーバー上のファイルを使い行うので危険と思います。 入力用のマクロブックをファイルサーバー上に置けば マクロブックを一元管理できるので その利点は大きいと思いますが、私ならやりません。 私だったら、 ファイルサーバー上に入力用のマクロブックに置き 更に、次のような動作をするbatファイルをサーバー上に置き 利用者にはこのbatファイルを実行させるようにします。 ・ファイルサーバー上のマクロブックを  自PCの%temp%フォルダーに複写 ・複写したマクロブックを実行 それにより一元管理ができますし 排他によるトラブルも避けることができます。

sn3629
質問者

お礼

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

sn3629
質問者

補足

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

その他の回答 (1)

  • ann_k
  • ベストアンサー率25% (1/4)
回答No.2

とりあえずやってみたけどエラーにはならないですね。 シートに書き込みしないんならExcelを共有する意味が無い気がします。 読み取り専用でいいのでは。 サーバ上のMDBの処理に時間がかかるのなら、共有とかとは別問題でしょう。 処理に必要なテーブルだけをリンクテーブルで抜粋してローカルに別ファイル作ってみてはどうでしょうか。

関連するQ&A