質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Q&A

解決済

3回答

5036閲覧

Excelファイルをペースト(上書き保存ではない)されないように設定したい

DinKa

総合スコア40

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

0グッド

1クリップ

投稿2016/10/18 05:00

編集2016/10/18 05:06

共有しているファイルについてアドバイスをいただければと思います。

環境情報
・ファイルサーバーにExcelファイル(A.xlsxとする)がある
・A.xlsxが置かれている上位フォルダ(zフォルダ)には多数の利用者にアクセス権限を与えられている
・A.xlsxは週1回、休日バッチによりDBのデータを元に同名のファイルが作成され、上書き保存される
・A.xlsxは毎日、夜間バッチによりデイリー処理の元データとしてロードされる
・zフォルダにはA.xlsx以外にもb.xlsxなど多数存在する
・zフォルダは毎日6時間ごとにバックアップを取る

A.xlsxの情報
・A.xlsxには共有設定がされている
・共有の解除は誰でも可能
・デイリー処理にエラーが出るときは、Excelのデータに問題が発生している
・A.xlsxが直接誰かに編集されたときにエラーが発生した場合、校閲のブックの共有で変更履歴を確認している

質問
・A.xlsxのファイルを同名のファイルで上書きすることを禁止するにはどうすればいいか?

背景
・エラーが発生した時に、変更履歴が存在しなかった(コピーしたと予測はできた)
・その時はプロパティ→詳細に最終編集者の履歴が残っていたため、利用者が判明
・その利用者はA.xlsxをzフォルダからをローカルへコピーし、自分で編集した後、zフォルダに貼り付ける運用をしていることが発覚
・他にも多数同様の運用をしている利用者が存在すると思われる

考えた対策とそのNG内容
・周知する ⇒ 編集できるのが不特定多数(100人未満)なため、末端までいきわたらない
⇒ また利用者側はデータに問題があったことに対しては注意するが、運用方法には疑問を持たない
・zフォルダにA.xlsxを置かずショートカットを置いて別フォルダへ ⇒ 少し悪知恵が働く人はリンク先に移動して、そのフォルダのショートカットを保存するだろう
⇒ Excelを見るプログラムの修正が必要

求めている目標
・A.xlsxを中心として、多数のファイルをコピペ禁止にしたい
・ただし、DBからのコピーは許可する
・通常のExcelを利用することでの利便性が失われることは避ける

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Excell2003での保存オプション
Excelワークブック単位で設定できる、保存オプションを活用してはいかがでしょうか。

Workbook.SaveAs メソッド (Excel)Workbook.SaveAs メソッド (Excel)

書き込み用パスワードを設定して保存すれば、パスワードを知らない人は上書き保存できません。

・・・って上書き保存でなく、他人にファイルを上書きされるケースでしたか、、、

NTFSのセキュリティ、アクセス権を細かく設定するしかないかもしれません。
「読み取りと実行」のみにするとか。

あるいは、最近流行りのSyncthingを使ってファイル共有をかけつつ、
マスターのフォルダを読み取り専用にしてしまうとか。
(本当に書き込めなくなるので、おそらく検討外ですよね、、)

投稿2016/10/18 06:13

編集2016/10/19 03:42
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DinKa

2016/10/19 00:45

m6uさん、ご回答ありがとうございます。 なるほど、セキリュティのアクセス権限を読み取りと実行にすれば確かにファイルの削除や変更などはできなくなりますね。 zフォルダを指定すれば、利用グループごとにある程度はコントロールできそうです。 権限を設定しているのは別部署なので、実際に設定してもらえるかまではわかりませんが、依頼してみます。 ありがとうございました。
DinKa

2016/10/19 08:37

回答の追記ありがとうございます。 読み取り専用にすると本来の目的(Excelのデータファイルの共有し、編集)が不可能になってしまうため、今回には適応できませんね。 調べてくださいましてありがとうございました。
guest

0

ベストアンサー

フォルダーへのアクセス権という観点からいくつか試してみました。
フォルダの「プロパティ」-「セキュリティ」タブから特殊なアクセス権の設定ができます。
この中で、参照権限、作成・変更権限、削除権限に類する設定を個別に変更できます。

削除権限を不可にすることでファイルの削除は抑止できましたが、上書きコピーまでは抑止できませんでした。
このため作成・変更権限も不可としてみたところ、ファイルの上書きコピーは抑止できましたが、この設定ではファイルを開いて編集した際の上書き保存もできなくなってしまいます。

アクセス権の変更でできることにも限りがありそうです。


システム面での対応が困難であれば、運用回避を目指す方が話が早いかもしれません。
・再度、運用方法を周知徹底する。
・決められた運用を無視して、共有資産を破壊するような独自運用を行う人には【厳罰】を与える。

少し過激な案かもしれませんが、悪意はなくとも実際に他の利用者の書き込んだデータを破壊する行為になっていることには変わりありませんので、厳しく規制するのが筋かと思います。

また、運用ルールを守らせるためのシステム的な抑止力として、共有フォルダへのアクセス監視を導入するのも手だと思います。
悪いことをしたら見つかるよ、見つかったら【厳罰】だよ、という警告ですね。

ちょっとシステム的な解決策ではなくなってしまいましたが、参考になれば幸いです。

投稿2016/10/19 01:47

jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DinKa

2016/10/19 02:50

jawaさん、ご回答ありがとうございます。 こちらでも検証したところ、当方のOSがWindows7なので名称等の違いはありましたが、jawaさんと似たような結果となりました。 >・再度、運用方法を周知徹底する。 セキュリティ上制御が難しいため、これが次善策でしょうね。 恒久的にはDBでバッチ処理を行って読み取るエクセルファイルではなく、VBAを組み込んだDB更新系のエクセルに変更を早期に検討すべきなのでしょうね。 >・決められた運用を無視して、共有資産を破壊するような独自運用を行う人には【厳罰】を与える。 こちらは建前としても難しいですね。注意喚起が限度かなと思っています。同じ社内であっても利益を生み出す部門と間接部門との力関係はどうしても差が出てしまいますね。 また、利用者の安易な考えを生み出す原因としては、ファイルが異常をきたした場合であっても場合もバックアップを取っている、最終編集者がバックアップ等からわかる、などで多少はリスクが軽減されているため、クリティカルな問題に発生しづらいこともあるかもしれません。 ありがとうございました。
guest

0

最初に、なぜユーザーがこういう行為に及ぶのか?
を確認する必要がございます。
おそらく、御社では1つのファイルに複数の人間がアクセスし、何らかの記入を行なった後でバッチ処理で吸い上げるようにされておられると考えられますが、いかがでしょうか?
以下は私の経験に基づく推測ですが…
0. 同一ファイルへの占有時間が長いので、自分の記入ができない。
Excelファイルは「排他的共有(1人がファイルアクセスしている間、他の人は読み取り専用か、編集可能通知待ち)」しかできないので、こういうケースが頻発します。

訂正:KaedeKazane様のコメントの方法で、編集は可能です。合わせて、御指摘の注意点にもご注目ください。

  1. ネットワークの通信回線が遅い箇所があるため、ファイルのやり取りが遅い場合がある。

会社内のネットワークで、10Mbpsのリピートハブが1箇所以上存在すると極度に遅くなります。

対策としましては、

  • リスト入力・修正をフォームの項目限定とし、入力ミスやうっかり削除などのリスクを低減して、占有時間を短縮する。
  • ネットワークの遅い部分を改善する(100Mbpsのスイッチングハブに変更等)。

がわずかながら有効かと。
これ以上の規制は、ユーザーの利便性が損なわれてしまうかもしれません…。
アドバイスとしては不十分で大変申し訳ございません。

投稿2016/10/18 11:51

編集2016/10/19 01:42
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KaedeKazane

2016/10/19 01:09

>Excelファイルは「排他的共有(1人がファイルアクセスしている間、他の人は読み取り専用か、編集可能通知待ち)」しかできない これについては誤りで、「校閲」→「ブックの共有」から共有設定を有効にすることで、同時に編集することが可能です。 ただ、共有状態ではセルの結合・分割等のいくつかの操作に制限がかかったり、編集の競合が発生した場合によくわからないまま自分の編集を適用する、なんてことをされてしまうなど、いくつか注意点もありますが。
DinKa

2016/10/19 01:25

tmkey01さん、ご回答ありがとうございます。 そうですね、インシデントに対しての要因分析まで書いてしまうと長くなると思って省略してしまいました。 詳細なヒアリングは行っていないため、ある程度予測でしかありません。 (ⅰ)ファイルサーバーがセキリュティの関係でかなり重い、そのためエクセルファイルを開くまで2~3分かかる (ⅱ)共有ファイルをローカルに持ってきて、共有を解除された状態だと快適に編集できる (ⅲ)毎週ほぼ同じ設定をしているため、ローカルのデータを張り付けるだけで済むため容易 >(ⅰ)は改善は容易ではないと思います。むしろ、年々悪化の一途をたど帝ます。 >(ⅱ)本来の共有設定を逸脱した行為です。理解はできますが、認めることはできません。 >(ⅲ)今回のエラーの原因になりました。休日バッチで真っ新のデータを、数十行一括で更新するためにやっているため、やっているのかと思います。しかし、担当外の場所も更新しているため、当週から対象外の行も更新されていました。 従って、 >1. 共有にしているため、排他的共有の問題はかなり緩和されています。ただレスポンスがかなり遅いですが。 また、余談ですがExcelはリストを使っており、入力規則で制限をしていますが、別なセルで規則外の値を作成し、ペーストするという入力方法でエラーが発生するなどの事象も発生しています。 >2. ネットワーク環境に関しては詳細は理解していません。判明している事は、ネットワークの改善は今回の課題に対して対応することはできません。 利便性を維持しつつ、規制を設けるのは難しいですね。 実際にはExcelでの管理は恒久的なものではなく、何れはアプリにしていかないといけないとは思ってます。 ご回答ありがとうございました。
DinKa

2016/10/19 01:52

KaedeKazaneさん、補足ありがとうございます。 はい、A.xlsxではセル関係を修正する運用はないので、問題ありませんが、他のExcelではそのような場合、都度共有を解除しています。 共有設定に関しては、良し悪しはありますね。
退会済みユーザー

退会済みユーザー

2016/10/19 01:57

>KaedeKazane様 御指摘の点、大変ありがとうございます。こちらも共有ファイルはめったに使用しないことが多かったので、誤認識しておりました。(原因は、コメントの注意点によるトラブルが多かったので…) >Dinka様 ファイルサーバーの件ですが、もしかしたら「最適化」処理をしたほうがよろしいかと…。 かなりの人が何度もアクセスされていると、次第にサーバーへのアクセスが悪くなる、というのはよく聞くことなので…。 これは管理者にお願いするしかありません。 セキュリティの問題だけでは、ファイルを開くのに2~3分かかることは考えにくいです…。
DinKa

2016/10/19 03:02

tmkey01さん、返信ありがとうございます。 該当フォルダに限らず、ファイルサーバーのパフォーマンスの悪化は、セキュリティだけでなく、資産の移転(ファイルをローカルからサーバへ)による影響も大きいですね。 計画外の改善するのはトップダウン以外では難しいでしょうね。 ちなみに共有化されていますと、通常より開くための時間が増大するのと、パフォーマンス事態も低下しているようです。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問