[[20190918095533]] 『上書き禁止』(事務まま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『上書き禁止』(事務まま)

社内みんなで共有するファイルに上書きされたくないので

管理表.xlsm(←上書きされたくないファイル)
→「名前を付けて保存」フォームコントロール・マクロにて作成OK

フォームコントロール(名前を付けて保存)すらクリックするのを忘れて
管理表.xlsmにそのまま入力して上書きしてしまいそうな社員が数名いるので
上書き禁止の何か良い方法ありますか?

< 使用 Excel:Excel2013、使用 OS:Windows10 >


Workbookイベントで以下のように、キャンセルすると上書きされません。

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

    Cancel = True
 End Sub

ただし、何らかで更新する場合、コードを書き換えないといけません。
私は、上書きする場合、Inputbox等でパスワード入力を求めています。
(tkit) 2019/09/18(水) 10:25


ありがとうございます。
ですが何分VBA初心者なもので。。。
もう少し教えてください

標準モジュール
General
Declarations

の状態で

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

    Cancel = True
 End Sub

でやってもうまくいきません

そもそもが間違っていると思われるのでご教授願いたいです。
<(_ _)>

(事務まま) 2019/09/18(水) 10:58


 ・Excelの機能で、書き込みパスワードを設定する。
 または
 ・Windowsの機能で、読み取り専用にする。
 ではだめなんでしょうか。
(´・ω・`) 2019/09/18(水) 11:24

 ちょっとかぶりましたけど

 完全な方法ではありませんが 私が使用している方法を紹介します

 対象ファイルのアイコンを右クリックして
 プロパティ→全般タブ→属性 で
 読み取り専用 にチェックを入れて OK

 これで、開いたときには自動的に読み取り専用になりますから、上書き保存はできないことになります

 他のユーザーがプロパティを変更してしまえばダメなので、完全ではありませんが
 これまでの経験から 使用に耐える方法ではあります。

 自分で修正するときにチェックを外すのをお忘れなく

(渡辺ひかる) 2019/09/18(水) 11:27


 マクロ有効テンプレートにしておくというのでは…
(コナミ) 2019/09/18(水) 11:35

以下は、ThisWorkbookモジュールに記述してください。 

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

    Cancel = True
 End Sub

運用上、どういった行動で上書き保存されてしまうのかが重要だと思います。

×で閉じたとき、変更を保存しますか?が出たから保存しちゃったのなら、
出ないようにするとか、対策は変わってくると思いますよ。
(tkit) 2019/09/18(水) 11:44


みなさんありがとうございます。

読み取り専用はやっても上書きできちゃいます、、、ナゼ(;^_^A?

tkitさんの試してみました。
ThisWorkbookモジュールに記述した時は×で終わろうとすると
「保存しない」を選択しない限り閉じてくれません。

ただし、また開いて同じことをやってみたら上書きできちゃいます。

ThisWorkbookモジュールも何か「実行」的な作業が必要なのでしょうか?
(事務まま) 2019/09/18(水) 17:11


 >読み取り専用はやっても上書きできちゃいます、、、ナゼ(;^_^A? 

 Excelファイルを開いたときに 
 上部のファイル名に(読み取り専用) と表示されますか?

 表示されないのであれば、設定されていないということです

 表示されるのであれば、上書き保存はできないと思いますが?

( 渡辺ひかる) 2019/09/18(水) 17:37


以下のみをThisWorkbookモジュールに記述して、試してください。

 Private Sub Workbook_BeforeClose(Cancel As Boolean)
     ThisWorkbook.Saved = True
 End Sub

閉じる直前に、自身のブックを最終保存の状態から変化が無い、
という状態にします。
ですので、閉じる際、変更を保存しますか?のポップアップは出ません。

ですが、上書き保存を実行すれば、上書きされます。

他のみなさんが勧めているように、読み取り専用と併用すれば、
Excelの操作上では、上書きされることは、無いでしょう。
(別名で保存は出来ますが・・・)

ただ、Win操作でファイルの置き換えは無効にできないと思いますので、
後は、運用方法かと思います。
(tkit) 2019/09/19(木) 08:22


みなさん本当にありがとうございます。

> Excelファイルを開いたときに 

 上部のファイル名に(読み取り専用) と表示されますか?

(読み取り専用)と表示されません。

何か詳細設定が必要なのでしょうか?

(事務まま) 2019/09/19(木) 08:44


該当ブックのアイコンで右クリック→プロパティ
プロパティウィンドウ全般タブ1番下の属性→読み取り専用をチェック
→OKで読み取り専用となります。

読み取り専用の設定方法は同じですか?
違っていた場合、提示ください。
(tkit) 2019/09/19(木) 08:58


 >(読み取り専用)と表示されません。

 ファイルがServer上にあると、サーバーで設定されたアクセス権の方が強いので、
 サーバー管理者に相談が必要です。

 コナミさんの マクロ有効テンプレートにする案が、一番簡単かと
(´・ω・`) 2019/09/19(木) 09:01

tkitさんの通りにやっていますが
開いた時に(読み取り専用)となりませんし上書きできちゃいます(;^_^A

(´・ω・`)さんの言う通りファイルがサーバー上にあるのでこれが原因かと思います。。。

コナミさんのマクロ有効テンプレート試してみます^^

無事出来たら報告します♪ ありがとうございます。
(事務まま) 2019/09/19(木) 10:59


 >(´・ω・`)さんの言う通りファイルがサーバー上にあるのでこれが原因かと思います。。。

 これの検証のために、一つだけ実験してください

 対象ファイルを デスクトップにコピーして、プロパティから 読み取り専用にして
 開いて「読み取り専用」になるかどうかです。

( 渡辺ひかる) 2019/09/19(木) 11:03


アクセス権の管理が貧弱なので、NASのようなLinuxのSamba経由ではプロパティの効果が出ないかも。Windows Serverなら有効なのですが…。

なので、ファイルのプロパティは変えずに、ブックを「名前を付けて保存」する際、「ツール」−「全般オプション」にある、「読み取り専用を推奨する」をチェックしておく、というのはどうでしょう?

これを付けておくと、ブックを開く際にダイアログが表示されるようになりますが、デフォルトが「読み取り専用」になるので、普通の人は読み取り専用で開いてくれるようになりますよ。
(???) 2019/09/19(木) 14:42


 >NASのようなLinuxのSamba経由ではプロパティの効果が出ない
 あ〜 それは会社の環境によります。
 自分の会社のファイルサーバー(Win Server)では、ファイルのアクセス権の編集ができません。
 LinkStationのような、自分で管理しているsambaサーバーはアクセス権の編集が効きます

 会社の管理部門のポリシー次第と思います。
(´・ω・`) 2019/09/19(木) 20:34

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.