使用中のファイルを開く、開かない
手動で使用中のブックを開こうとすると
次のようなダイアログが表示されます。
この場合、開きたいブックを
読み取り専用で開くかキャンセルします。
読み取り専用で開く場合は、
他の人がファイルの使用を終了したとき
通知を受け取るかを選択できます。
VBAで使用中のブックを開こうとすると
次のようなダイアログが表示されます。
まずこの警告ダイアログを表示させなくします。
Application.DisplayAlerts = False
上のコードでこの警告ダイアログは表示されなくなります。
この場合、開いたブックは読み取り専用になります。
他の人がファイルの使用を終了したとき
通知を受け取るにはOpenメソッドで
Notify引数をTrueにします。
Workbooks.Open Filename:="フルパス", Notify:=True
通知は次のダイアログです。
VBAで全部をやろうとしているときは
このダイアログが出ると中断されますので
通知を受け取らないほうがいいと思います。
使用中のファイルを開くコードはこちら
Sub macro111015a() Application.DisplayAlerts = False End Sub |
次は、ブックが使用中なら開かない場合をします。
細かく言うと一回は開きます。
ブックを一旦開いて使用中なら閉じるという操作をします。
まず、ブックが使用中であるかを判別する方法です。
使用中のファイルは
読み取り専用でしか開けないことを利用します。
目的のファイルを一旦開いて
このファイルが読み取り専用なら使用中と判断します。
ファイルが読み取り専用かは、次のプロパティでわかります。
ActiveWorkbook.ReadOnly
Trueなら読み取り専用です。
コードはこちら
Sub macro111015b() End Sub |
共有フォルダに入ったExcelのファイルを
複数のパソコンで使おうとするとき、
強制終了が起きてExcelが終了することが多いです。
また、強制終了が起きたファイルは開けなくなることがよくあります。
複数のパソコンで1つのファイルを開いたり保存したりする場合は
バックアップをこまめにした方がよいです。
| 固定リンク
この記事へのコメントは終了しました。

コメント