都道府県穴埋めゲーム

共有フォルダにあるファイルに複数人でアクセスできるようになっています。それぞれが入力して上書き保存できるようにしていますが、勝手に名前を付けて保存されてしまい困っています。上書き保存はできるけど、新規保存はできないようにマクロを組みたいと考えていますが、どのようにすればいいのでしょうか?教えてください。

A 回答 (5件)

こんにちは。



一般的には、「IRM」を導入します。一応、2003 以上のOffice Professionalバージョンで作成しないといけませんが、アクセスする権限に制限が与えられます。また、編集権は、フルコントロールといって、編集ができる人とそうでない人の区別をさせられます。

>上書き保存はできるけど、新規保存はできないようにマクロを組みたいと考えていますが、どのようにすればいいのでしょうか?

これは、クラスを使った特殊な方法で、新規保存(名前を付けて保存)そのものの機能をなくしてしまうのです。ややこしいしので、まだ、Office 2010 では試したことがないし、できるかどうかは分かりませんが、Office 2003の旧版ではよく使いました。マクロを外せばという人がいますが、マクロ機能を入れないと、シートそのものが閲覧できないように、プロパティを操作してます。VerryHidden モードと言って、マクロ以外は、プロパティ画面からでないと変更できません。そのプロパティ画面は、プロテクトが掛かります。それから、ファイルはバイナリモードにするべきですね。クラックを使わないと変更できません。

#4さんの方法は、よく知られた方法ですが、それに、合わせ技として、マクロをオンにしないと、上記で書いたように、シートを閲覧できないようにしてしまうのです。VBEには、当然、パスワード・ロックしておきます。

#3さんの問題は、
>別フォルダにコピーし、コピーしたファイルに入力

その対処法は、コピーしたファイルでは開けないようにすればよいだけです。

言い換えると、レジストリに登録するか、一定のフォルダでのみ作業できるようにすればよいです。現在、私の使っているExcelのファイルは、違った環境に入れると、メッセージが出るように作られています。そして、マクロ機能自体が死にます。同じマクロで10年以上使い続けていますから誤動作はありませんが、逆に環境の引っ越しは大変です。

ただ、上司による指導などで、社内のスパイ自体を防ぐことは不可能です。確信犯にいたっては、犯罪まがいのことは何でもします。結局、外国人労働者の雇用や、社員の恨みを残すような会社自体の問題なのでしょうけれども、私の勤めていた会社では、経理部長が、盗まれてまずいものは、金庫に置かないことだ、と言っていましたから。

私が、昔、Excelで、このような対処法を書いた時には、皮肉にもスクリーンキャプチャを使うとかぶせてきた人もありましたが、それはマクロで防げます。ただ、ふっかけて、セキュリテイのノウハウを探り出そうとする輩がいますから、私の話は半分にしておきます。

また、どんなものでもセキュリティには穴があります。マクロをクラックを開けようとする人もいますが、クラックもただではありませんから、そこまでする価値があるものは、Excelなどのファイル形式にはしないことでしょうね。昔、Microsoft 社自体も、くだんの経理部長ではありませんが、見られれてまずければ、VBAで書くな、と書いていました。マクロはCOMなど、コンパイルしたものを使うことなのです。

他にも、質問が出そうで出ない、自爆型マクロで、データを消去してしまう方法もあるはずです。あまり、真面目に考え方ことはありませんが、それは、ウィルスに近い形になります。

また、最後にお勧めできないのに、簡単で、最強・最悪なのは、デジタル証明をつけて最終版にしてしまうことかな?これは、作成者本人もマスターを別にとっておかないと、編集できません。

なお、興味があるなら、一部は公開しますが、安全のために限定とさせていただきます。
    • good
    • 0

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)


If SaveAsUI = True Then
MsgBox "上書き保存以外は禁止です。"
Cancel = True
End If
End Sub
のようにすればよいのではないでしょうか。
    • good
    • 0

「名前を付けて保存」を出来なくしても、ファイルを別フォルダにコピーすることは出来ますよね。


下手に「名前を付けて保存」を禁止すると最悪

別フォルダにコピーし、コピーしたファイルに入力

元のフォルダに上書きでコピー

他の人が入力したデータが消えてしまう

なんて事故が起こるかもしれません。
私の勤務先では共有フォルダ導入から半年くらい頻発しました。

コピー禁止を業務手順の一つにした上で、強い権限のある役職者がファイルを複製しないよう指導する方が効果的だと思います。
    • good
    • 0

Acess 等のリレーショナルデータ-べース を使うべきです。



 
    • good
    • 0

http://oshiete.goo.ne.jp/qa/2127519.html
8年前の質問と回答だけど、今も通用するかな?
    • good
    • 0

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