|
▼Ned さん:
こんばんわ
私も気になって拝見していたのですが、感動しました。
私の知る限り、エクセル起動時VBAで取得できるイベントの発生順は
Workbook_Open → Workbook_Activate → Workbook_WindowActivate → auto_open
なのでWorkbook_Openイベント以前に発生しているものは制御しようがない。
しかもマクロを無効にされたらお手上げ、と思っていたのですが、
確かにファイル属性が「読取専用」になっていれば、
>これだと、最初に『〜は編集の為ロックされています。使用者は〜です。』と、
このメッセージは出ません。
使用中のファイルは属性を「読取専用」にすることで回避するという
まさに「コロンブスの卵」的発想に驚きました。
(そもそも使用中にファイルの属性を変えられる事も知りませんでした)
この手法を使えば
・作業シートをxlSheetVeryHiddenにして「読取専用」時は何もさせない
・指定した絶対パス上にファイルがなければ使用できない
・使用できるユーザーを制限する
などいろいろ応用範囲も広そうです。
勉強になりました。
>ただ、OPEN中ファイルの属性変更に少し不安があるので、別案として
>最初に開いた時に元ファイルを別名保存してテンポラリーファイル的な使い方をする。
>その時元ファイルは読み取り専用に属性変更をする。
>とすれば保存の度に属性変更する必要はなく、OpenとCloseの時だけ処理をすればいいですね^ ^
これはOSやエクセルがおちた時、話がややこしくなるような気がするのですが?
|
|