13時47分18秒 [ソフトウェア]
テンプレートへの上書き保存を阻止するには「読み取り専用」属性をファイルに付加すれば良い
ひな形(テンプレート)として用意したファイルに上書き保存されてしまうケースが多々ある
ひな形(テンプレート)として用意したファイルに上書き保存されてしまうケースが多々あります。
いくらファイル名に「これはテンプレートですよ」的な注釈を加えていても、それをダブルクリックして開いてしまえば(たとえ本人が分かっていても)誤って上書きしてしまうケースはあるでしょう。
どれだけ注意しても、人間が操作する以上ミスはあります。
この誤操作に対処するのは実はとても簡単です。
ファイルの上書き操作を禁止したければ、Windows側の機能を使って上書き保存ができないように設定してしまうのが最も確実です。
ファイルのプロパティで「読み取り専用」属性を付加すれば、上書き操作はできなくなる
Windowsでファイルのプロパティを表示させると、ファイルの属性をON/OFFできます。
属性には主に「読み取り専用」属性と「隠しファイル」属性があります。
このうち「読み取り専用」属性の方にチェックを入れてOKボタンを押せば、それ以後はそのファイルへの上書き保存ができなくなります。(もちろん、自力でプロパティを再表示させてチェックを外せば上書きできるようになります。)
テンプレートとして作成したファイルを右クリックすると、コンテキストメニュー(右クリックメニュー)の最後の方に「プロパティ」という項目があります。そこをクリックすると、上図のようなプロパティウインドウが表示されます。そこで、上図の赤丸部分に見える「読み取り専用」チェックボックスにチェックを入れて最後に「OK」ボタンを押せば設定完了です。
上記の操作(設定)を施して以後は、このファイルに対して何かを書き込むことはできなくなります。
※上図はWindows10での画面ですが、この方法は昔々のバージョンから使えます。
※「読み取り専用」属性は、「書き込み禁止」属性という名称が使われている場合もあるような気がします。
読み取り専用属性が付加されたファイルをダブルクリックで開いた場合の動作
読み取り専用属性が付加されたファイルをダブルクリックで開いた場合の動作は、ソフトウェアによって多少異なりますが、上書き保存ができないことに変わりはありません。たいていは、タイトルバーなどで「読み取り専用」だという旨の表示があるでしょう。
下図は、Excelで読み取り専用属性が付加されたファイルを開いた場合の例です。
タイトルバー部分には、読み込んだファイル名の隣に「読み取り専用」という注釈が表示されています。(※下図の黄色矢印部分)
また、上書き保存をしようとすると、下図のように「読み取り専用のため、上書き保存できません」というエラーが表示されます。ここでOKボタンを押せば、次に「名前を付けて保存」の画面に移動します。
この仕様によって、何が何でも別のファイル名を付けないと保存できなくなるため、テンプレートファイル自体が上書きされてしまう心配は不要になります。
▼上書き保存しようとすると、名前を付けて保存操作になる
なお、読み取り専用属性の付いたファイルを開いた場合の動作は、ソフトウェアによって以下のように違いがあります。
- そのまま編集はできるが、上書き保存操作をすると「名前を付けて保存」画面が出る。
- 閲覧だけで編集操作が一切できなくなる(=閲覧だけの特別なモードでファイルが開かれる)。
Excelの場合は前者の動作になります。
後者の動作になる場合は、ファイルを読み込んだ後、まず最初に「名前を付けて保存」操作をして、編集用ファイルを作った上で、そのファイルを読み込み直す必要があるでしょう。
ファイルをコピーしても属性は消えないので注意
ファイルをコピーする場合は、「読み取り専用」属性もそのままコピーされるので注意が必要です。
(少なくとも、Windows上で標準のエクスプローラを使ってコピーする場合は。ファイラーによっては動作が異なるかも知れませんが。)
なので、「テンプレートファイルを別名でコピーして編集用ファイルを作る」という操作をしている場合には、編集用ファイル(コピー先のファイル)にも「読み取り専用」属性が付加されている状態になります。
その操作方法を引き続き使いたい場合は、ファイルを右クリックして「プロパティ」項目を選択し、プロパティウインドウから「読み取り専用」属性のチェックボックスをOFFにする操作が必要です。
しかし、そのような操作はかなり面倒なので、
▼テンプレートファイルの使い方の案内は
読み取り専用属性を付加することでテンプレートファイルへの上書き操作を阻止する方法を採用するなら、以下のような使い方を案内する方が良いでしょう。
- テンプレートファイルは、ダブルクリックで開いて良い。
- 上書き保存操作もして良い。(←読み取り専用属性が付加されているので、強制的に「名前を付けて保存」になる)
- そこで、適当な名前を付けて保存する。(←読み取り専用属性が付加されているので、名前を付けない限り保存できない)
- 次回以降は、その新たな名前を付けたファイルの方をダブルクリックして開く。
というわけで。
テンプレートファイルへの上書き保存操作を防止するには、ファイルに「読み取り専用」属性を付加する方法がある、という話でした。