Excel VBA の ChangeFileAccess
Excel(2000 SP-3) VBAの ChangeFileAccessがうまく行きません。
VBAからあるExcelファイルをWorkbooks.Open で開く処理の制御で悩んでいます。
2人で同時にマクロでhoge.xls をOpenすると、どちらも「他のユーザが使用中です」的なメッセージが出ませんでした。
(エクスプローラからクリックしたりして、hoge.xlsを直接開くと、他のユーザが使用中かどうかがわかります)
それでは困るので、ChangeFileAccess のNotify:=true をセットしてみたら、2人目は他のユーザが使用中である旨のメッセージが出るようになりました。
しかし、ChangeFileAccess のNotifyはちゃんと設定されているようなのですが、
'ChangeFileAccess'メソッドは失敗しました:'_Workbook'オブジェクト
とエラーが出ています。
ChangeFileAccessはどう使うのが正しいのでしょうか?
ソースは
Workbooks.Open Filename:=ThisWorkbook.Path & "\hoge.xls", updatelinks:=1, Notify:=True
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, Notify:=True
って感じなのですが。
Workbooks.Openはちゃんとできています。Workbooks.OpenがコケたらOn Error Goto で拾ってMsgBoxでメッセージを出す、という処理をしているのですが、Workbooks.OpenはOKなのにChangeFileAccessでコケて、On Error Goto に引っかかってしまっています。
お礼
別作業に取り掛かった為、時間があいてしまい申し訳ありません。 その為この現象も解決する必要がなくなってしまいました。 後味が悪いですが、再度必要になった時に改めて考えることにします。 色々とありがとうございました。