[[20101122164403]] 『VBA_時間で自動保存する方法』(hiro) >>BOT

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

 

『VBA_時間で自動保存する方法』(hiro)

 はじめまして。VBA初心者ですが、宜しくお願いいたします。
 複数人で使用するエクセルファイルの、開きっぱなし防止の為に
 VBAで一定時間開いていたら強制的に閉じるようなコードを探しておりましたら、
 こちらの [[20090924233610]] で同じような質問に出くわし、
 ここで教えて頂いたコードを使わせて頂きました。(ありがとうございます)
 この続きで質問です。
 5分後に閉じる時、1番目に開いた人は修正する権利(?)があるので、
 上書き保存できますが、同時に開いた人は[読取り専用]となり別名で保存させるような ボックスが現れます。
 [読取り専用]で開いてる人は、ボックス表示させずに強制終了するようにしたいのです が、
 どういうコードを挿入したらいいでしょうか。
 ご教示の程、宜しくお願いいたします。
 ちなみに、エクセル2003です。

 一番目に開いた人と二番目以降の人の区別を
 読取り専用ブックではない(一番目に開いた人)と読取り専用ブック(二番目以降の人)
 で判断すると・・・・、

 5分経ったら、実行するプロシジャーで・・・、すなわち end_proc で、

  ┌────────┐
  │End_Proc│
  ├────────┘
  │
  │            ↓読み取り専用でない
  ├──────────┬────────  上書き保存して閉じる
  │読み取り専用ブック?│
  ├──────────┴────────  保存しないで閉じる
  │            ↑読み取り専用   
  │
  │
  ├─────┐
  │終わり  │
  └─────┘

  

 というように読み取り専用ブックか否かで処理を分けると良いですね!!

 では、読み取り専用ブックか否か は、どうすればわかるか?
 というと・・・、

 ブックのプロパティにReadOnlyというのがあります。
 この値がつまり ThisWorkbook.ReadOnly Trueだと読み取り専用、
 Falseだと読み取り専用ではありません。

 よって、このデータの値で処理を分ければ良いですね!!

 これを実際のVBAコードにしてください。

 ichinose
 

ichinose様

早速のご回答 ありがとうございます!
初心なのでコード書くのに時間かかりますが、ちょっと試してみます。
またわからなくなった時は、質問させてください。

hiro


コメント返信:

[ 一覧(最新更新順) ]


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